PHP中是否可以获取传输到客户端的字节数?例如,如果我输出一个10 MB的文件,有没有办法找出是否所有10 MB都被发送到客户端,或者看看客户端是否中断了传输?我知道Apache会在之后记录这个,但我想用PHP访问数据。
答案 0 :(得分:13)
答案 1 :(得分:11)
这是我最终做的事情(感谢Gumbo):
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);