【问题标题】:How to control the browser progress update in the download process?下载过程中如何控制浏览器进度更新?
【发布时间】:2012-07-23 14:05:27
【问题描述】:

我在 PHP 中编写了一个下载脚本,如下所示,我的脚本正在正确下载文件,但我感觉浏览器(chrome)进度条没有定期正确更新。

我的文件大小为 320MB,在下载该文件时,进度会随机​​更新为“11MB、76MB、200Mb 和 320MB”或“70MB 和 320MB”等。

在大多数网站中,下载进度更新都是以恒定的块进行的,例如每 MB 之后,所以我想知道我们如何控制进度更新间隔,可能是通过发送一些额外的标头或其他方式。

我想通过定期更新进度来改善用户体验,所以请任何人帮助我以适当的方式处理这种情况。

// 用于 ZIP 文件下载的 HTTP 标头 // http://perishablepress.com/press/2010/11/17/http-headers-file-downloads/ // 文件变量 $filename = "电影曲调.zip"; $filepath = "文件/"; // 用于 zip 下载的 http 标头 header("Pragma: public"); header("过期时间:0"); header("Cache-Control: public,must-revalidate, post-check=0, pre-check=0"); header("内容描述:文件传输"); // MIME header("内容类型:应用程序/八位字节流"); header("内容配置:附件;文件名=\"".$filename."\""); header("内容传输编码:二进制"); // MIME header("内容长度:".filesize($filepath.$filename)); ob_end_flush(); @readfile($filepath.$filename);

谢谢,
湿婆

【问题讨论】:

  • 你是在本地测试这个吗?转移总共需要多长时间?也许它结束得太快了......
  • Yes Deceze,我在本地测试,下载速度很快可能是本地环境的原因。但是想知道我们是否可以通过任何方式控制进度更新间隔...

标签: php download http-headers progress


【解决方案1】:

不,您不能影响浏览器何时/如何更新其下载进度条。

【讨论】:

  • 谢谢Deceze,你说得对,看来我们无法控制浏览器的下载进度。
猜你喜欢
  • 2017-02-15
  • 2014-09-14
  • 1970-01-01
  • 2018-12-05
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2011-09-25
相关资源
最近更新 更多