ref https://bugs.php.net/bug.php?id=39135 , i was thinking about how to implement HTTP Range requests/HTTP 206 Partial Content in userland php, and ofc it's possible to implement using fread() loops, but it'd be easier (and faster? presumably) to implement if fpassthru() natively supported a $max_bytes=null argument,
an example of where it would be useful: <?php $h=tmpfile(); fwrite($h,"123456789ABCDEF"); // this is _NOT_ a proper http-range-parser! $range = $_SERVER['HTTP_RANGE'] ?? "bytes=5-9"; $range=explode("-",explode("=",$range,2)[1],2); $start = (int)$range[0]; $byte_count = (-$start) + ((int)$range[1]) + 1; // the range format is weird.. "Range: bytes=5-5" means "seek to byte #5 and serve 1 byte", 5-6 means "seek to byte #5 and serve 2 bytes"~ fseek($h,$start,SEEK_SET); http_response_code(206); // HTTP 206 Partial Content //echo fread($h,$byte_count); // << this is not suitable for large files, if 1GB bytes is requested, this will use 1GB ram... fpassthru($h, $byte_count); // should print 6789A