php 压缩或解压或者上传文件,怎么实现显示进度条,原理是什么

胡子渣渣
  • 1
新手上路,请多包涵

php 压缩或解压文件,怎么实现显示进度条,原理是什么

回复
阅读 1.5k
3 个回答

看看你的 API 是否支持这样的回调。

如果不支持的话,做个假的进度条。当然也可以稍微真实一点,比如说通过文件大小去估算。

上传文件可以用js的XMLHttpRequest,上传监听progress

压缩或解压的话, 跟楼上所说的一样, 先要看有没有回调.

我的做法是,
先用 fastcgi_finish_request() 结束前端响应, 然后开始做压缩或解压操作, 然后用回调记录进度, 然后写个接口给前端读取这个进度.

注: fastcgi_finish_request 要使用 php-fpm

不确定你的问题.

有以下几种解决文案

  1. 如果是用类似webuploader之类的js插件上传的话, 它本身有进度条显示.
  2. 如果是直接用 <form>上传的话, 可以参考 https://www.php.net/manual/zh...
  3. 如果是要显示服务器上的处理进度,可以把处理的百分比放到session(要注意刷新session)或者共享存储中,由ajax读取来在前台显示。
撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
宣传栏