PHP-确定通过http发送的字节数

PHP-确定通过http发送的字节数,php,byte,file-transfer,Php,Byte,File Transfer,在PHP中是否可以获得传输到客户端的字节数计数?例如,如果我正在输出一个10 MB的文件,是否有办法确定是否所有10 MB都已发送到客户端,或者查看客户端是否中途中断了传输?我知道Apache会在事后记录这些信息,但我想用PHP访问数据。看看and函数。下面是我最后要做的事情(谢谢Gumbo): 你想制作一个progressbar或类似的东西吗?我只是想将文件标记为完全下载,然后从列表中删除它们。问题是file_get_contents(),它无法捕获用户中断。如果使用fread()并循环,则可

在PHP中是否可以获得传输到客户端的字节数计数?例如,如果我正在输出一个10 MB的文件,是否有办法确定是否所有10 MB都已发送到客户端,或者查看客户端是否中途中断了传输?我知道Apache会在事后记录这些信息,但我想用PHP访问数据。

看看and函数。

下面是我最后要做的事情(谢谢Gumbo):


你想制作一个progressbar或类似的东西吗?我只是想将文件标记为完全下载,然后从列表中删除它们。问题是file_get_contents(),它无法捕获用户中断。如果使用fread()并循环,则可以捕获它,然后使用ftell()大致计算发送了多少字节。(很抱歉在我自己解决问题的时候发布了这个问题)你还是这样做的吗?是的。锻炼得足够好。为什么?我想通过数据传输量限制API请求下载。谢谢你的密码。
ignore_user_abort(true);

$handle = fopen($file_path, 'r');
while ( ! feof($handle)) {
    echo fread($handle, 4096);
    if (connection_aborted()) {
        $transfer_success = false;
        $bytes_transferred = ftell($handle);
        break;
    }
}
fclose($handle);