1
我有以下的PHP脚本,下载输出文件,以最终用户:如何在PHP脚本文件下载期间在Web浏览器中启用下载进度条?
session_write_close();
ob_end_clean();
set_time_limit(0);
if($file = fopen($path, 'rb'))
{
header("Cache-Control: no-cache");
header("Pragma: no-cache");
header("Accept-Ranges: bytes");
header("Content-length: ".(string)(filesize($path)));
header("Content-Disposition: attachment; filename=\"".basename($path)."\"");
header("Content-type: application/octet-stream");
header("Content-Transfer-Encoding: binary");
header("Connection: close");
fpassthru($file);
fclose($file);
}
用户可以下载该文件就好了,但是当一个大的文件被下载的Web浏览器不用剩余下载文件的百分比显示进度条。它只显示当前下载的MB数量。
所以我很好奇,我应该在标题中更改什么以启用此下载过程?
PS。下面是截图:
谢谢,但它并没有改变它。我也试过'Accept-encoding:gzip;放气;'。 – c00000fd 2015-02-10 23:42:15
你认为它的gzip相关吗?看看请求,你能看到压缩是否被使用?可以尝试在Web服务器上关闭以进行测试。有问题的Web服务器是什么? – ficuscr 2015-02-10 23:48:23
服务器是“Apache/Linux 3.12.35.1418868052”。我如何知道它是否使用gzip?还有什么是通过PHP转储标题的方式? – c00000fd 2015-02-11 00:00:46