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

时间:2009-10-02 06:23:11

标签: php byte file-transfer

PHP中是否可以获取传输到客户端的字节数?例如,如果我输出一个10 MB的文件,有没有办法找出是否所有10 MB都被发送到客户端,或者看看客户端是否中断了传输?我知道Apache会在之后记录这个,但我想用PHP访问数据。

2 个答案:

答案 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);