我正在测试我编写过php脚本的下载功能。此脚本使用fopen和fread读取大文件(10MB)。使用fread我在一个缓冲区中读取一个10MB的块,我正在回显该缓冲区,然后使用flush和ob_flush函数刷新。这样客户端就会收到这个缓冲区,我可以检查收到的字节数。这在Chrome,FireFox和IE 8中运行良好但是当我在IE 9中测试它时,浏览器挂起并且我无法获得正确的下载字节。 有人可以建议我们可以用来测试这个的其他选项吗?
define('CHUNK_SIZE', 1024*10240);
$handle=fopen("10MBFile", 'rb');
$buffer=fread($handle, CHUNK_SIZE);
echo $buffer;
ob_flush();
flush();
Regds
答案 0 :(得分:0)
我在IE9 +和apache上遇到过很多奇怪的问题,可以通过将这些内容添加到httpd.conf
来解决这个问题:
# Deal with user agents that deliberately violate open standards
#
<IfModule setenvif_module>
BrowserMatch "MSIE 10.0;" bad_DNT
</IfModule>
<IfModule headers_module>
RequestHeader unset DNT env=bad_DNT
</IfModule>
AcceptFilter https none
AcceptFilter http none
EnableSendfile Off
EnableMMAP off