6

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

4

2 回答 2

13

看一下ignore_user_abortandconnection_abort函数。

于 2009-10-02T06:40:26.147 回答
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);
于 2009-10-02T06:55:10.403 回答