一般进度条都是假的,根据读取数据大小百分比计算。 用ajax吧######ajax也没办法得到实时进度数据长度呀.. php都是读取完数据才做下一步骤...######
比较新的php版本支持这个,你可以搜下资料,好像是version>5.3吧 当然是可以的,只是你不会而已。必须要考虑使用PHP多进程方式实现,因为php在请求未结束时,一直会挂起浏览器。
1.当在页面上点击下载命令时,使用ajax激活一个PHP进程。这个PHP进程要做的工作:a.取得目标文件总大小,并作记录(文件、数据库均可)
b. 转入后台运行,使用fastcgi_finish_request实现,关键!,立即反馈给客户端。
c. 循环下载文件,在每个循环中,更新已经下载的字节数。
当页面的ajax请求返回时,说明下载任务已经开始运行。
再作一个ajax, 不断地读取前一个进程的下载信息,更新页面进度条即可。
版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。