使用纯PHP/AJAX上传进度?

Abr*_*egh 8 php ajax upload

我确定之前已经问过,但是我似乎无法找到一个好的答案,我在这里,再问一遍.:)

有没有办法只使用HTML,JavaScript/AJAX和PHP的混合来报告文件上传的实际进度?

回复任何建议SWFUpload或类似的人:

我知道这一切.走在那条路上.我正在寻找一个100%纯粹的解决方案(是的,我知道我可能不会得到它).

Jac*_*cco 5

使用PHP/Javascript监控文件上传需要PECL扩展:

上传进度

向用户显示进度所需的代码示例如下:

优步上传者

如果我没弄错的话,它会使用JQuery与PHP进行通信.


你也可以自己写,不是那么复杂.

添加一个隐藏元素作为上传表单的第一个元素,命名为UPLOAD_IDENTIFIER.

轮询一个调用uploadprogress_get_info( UPLOAD_IDENTIFIER ) 它的PHP脚本它返回一个包含以下内容的数组:

time_start     - The time that the upload began (unix timestamp),
time_last      - The time that the progress info was last updated,
speed_average  - Average speed in bytes per second,
speed_last     - Last measured speed in bytes per second,
bytes_uploaded - Number of bytes uploaded so far,
bytes_total    - The value of the Content-Length header sent by the browser,
files_uploaded - Number of files uploaded so far,
est_sec        - Estimated number of seconds remaining.

让PHP将信息返回给Javascript,你应该有足够的信息.根据受众,您可能不会使用所有可用信息.


kky*_*kyy 1

如果您能够将 PECL 包添加到 PHP 中,则可以使用uploadprogress包。

不过,最简单的方法是仅使用 swfupload。

  • 最简单的是,但我认为它不符合“纯PHP/AJAX”?:) (5认同)