1.使用PHP的创始人 Rasmus Lerdorf 写的APC扩展模块来实现(http://pecl.php.net/package/apc

APC实现方法:

安装APC,参照官方文档安装,可以使用PECL模块安装方法快速简捷,这里不说明

配置php.ini,设置参数 apc.rfc1867=1 ,使APC支持上传进度条功能,在APC源码说明文档里面有说明

代码范例:

大文件(50G)上传的实现细节:

服务端接收文件数据的处理逻辑代码:

2.使用PECL扩展模块uploadprogress实现(http://pecl.php.net/package/uploadprogress

uploadprogress 模块实现方法:

使用PECL模块安装方法安装该模块

php.ini里面设置 uploadprogress.file.filename_template = “/tmp/upd_%s.txt”

代码范例:

进度的处理逻辑比较简单,只是更新数据库中的数据就行了。不需要做其它的处理。

客户端代码如下:

服务端代码如下:

实现后的效果:

强大的文件夹上传,能够轻松支持10W级别的文件夹上传。

速度还不错

文件支持续传,支持刷新浏览器,关闭浏览器,重启电脑之后仍然能够续传。

可以参考这篇文章:http://blog.ncmem.com/wordpress/2019/08/12/php-%e5%a4%a7%e6%96%87%e4%bb%b6%e4%b8%8a%e4%bc%a0%e7%9a%84%e5%ae%9e%e7%8e%b0/

理论上可以上传无限大的文件实时显示上传状态、进度支持多文件上传以及与表单混合上传方便的用户调用接口上传进度提供两种显示模式:新窗口或者内嵌式(0.3)多语言支持(0.21)兼容各种浏览器(经过测试的浏览器:IE5.0、IE6.0、Mozilla、Firefox、Opera)支持Mac、Linux。

最新文章

  1. Linux驱动开发—— IS_ENABLED
  2. 字符串、数组方法实战--charAt(),split(),indexOf(),substring()
  3. JAVA Web day01--- Android小白的第一天学习笔记
  4. 从输入 URL 到浏览器接收的过程中发生了什么事情?
  5. Intel+Ardruino 101 翻转时点灯
  6. linux java cpu 100%
  7. ASP.NET MVC进阶之路:依赖注入(Di)和Ninject
  8. android面试题2
  9. hdu_5792_World is Exploding(树状数组+逆序对)
  10. ios逆向过程中lldb调试技巧
  11. 【★】微信之于QQ的市场哲学
  12. 关于extern的用法
  13. SQL总结——存储过程
  14. 向excel中循环插入值
  15. redis使用规范文档 20170522版
  16. Android PageAdapter翻译
  17. Docker三剑客之Docker Compose
  18. Python学习笔记五:错误与异常
  19. Cannot enlarge string buffer containing XX bytes by XX more bytes
  20. Hydra 无法爆破SSH 解决办法

热门文章

  1. 【图像处理】【计算机视觉】findContours的使用
  2. CentOS下firewalld添加开放端口
  3. tp5后台同步更新配置文件
  4. PythonDay15
  5. Exchange 2010的部署
  6. volatile关键字?MESI协议?指令重排?内存屏障?这都是啥玩意
  7. 使用油猴子 greasemonkey xx 百度 ...
  8. js 向数组对象中添加属性和属性值
  9. 有准备的面试才能拿到更好的 Offer
  10. AIX系统的备份和恢复