PHP 大文件上传,支持断点续传,求具体方案、源码或者文件上传插件

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了PHP 大文件上传,支持断点续传,求具体方案、源码或者文件上传插件相关的知识,希望对你有一定的参考价值。

HTTP协议里, 对断点下载有支持.
断点上传单纯靠php 是做不了的.
因为普通的浏览器端没那功能.(上传的时候 还是会整个文件编码发送)
想实现的话 , 客户端需要插件了,
客户端可以使用flex实现. 服务端, PHP可以写个webservice 接受文件.追问

有没有现成的flex和代码

追答

这个我这边没有.
你可以在网上找找. 关键字: "flex php 上传"
大文件上传, 走 http 是比较费劲儿的. 不稳定是关键.
网上有现成, 你找找吧

参考技术A 客户端用flash把文件切块,一般4M一块,服务器端用nginx的upload插件吧,上传完毕可以回调php的文件,直接用php性能太差。 参考技术B

推荐使用泽优大文件上传控件(up6), 它算是文件传输领域比较专业的产品了,有开发文档和示例,整合比较简单,界面很漂亮。

主要功能:

1.支持文件,文件夹上传和续传
2.支持保留文件夹层级结构
3.支持主流浏览器内核:ie, <strong>edge</strong>,firefox,chrome,Opera
4.支持国产浏览器:ie6,ie7,ie8,ie9,ie10,ie11,firefox,chrome 45+,Maxthon(遨游),TT浏览器,QQ浏览器,世界之窗浏览器,360安全浏览器,360极速浏览器,搜狗高速浏览器,猎豹安全浏览器,百度浏览器,115极速浏览器,Opera 23
控件包下载:控件包
示例下载:示例下载

1.1  文件夹上传,续传及结构支持

 

1.2  文件上传和续传

 

1.3 md5重复文件检测

技术规格

支持语言:PHP,JSP,ASP.NET(C#),

支持平台:Visual Studio 6.0/2002/2003/2005/2008/2010/2012/2013/2015/2017,C++ Builder 6.0/2009/2010,Delphi 7/2009,Visual Basic 6.0/2008,MyEclipse8.x

支持脚本:javascript,VBScript

支持服务器:Windows NT,Windows 2003,Windows XP,Windows Vista,Windows 7,Linux,Unix,

支持浏览器:IE6,IE7,IE8(x86,x64),IE9(x86,x64),IE10(x86,x64),IE11(x86,x64),360安全浏览器,360极速浏览器,QQ浏览器,搜狗浏览器,Maxthon(遨游)浏览器1.X,Maxthon(傲游)浏览器2.x,Firefox,Chrome,Opera 23+

支持文件大小:20G+

支持文件夹:4000+

支持文件类型:任意类型

插件技术:ActiveX,NPAPI,Native Message

参考技术C 有个什么swfupload你看看,还差不多的。 参考技术D http协议里面有个206,你研究研究

VUE 超大文件上传解决方案:分片断点上传

众所皆知,web上传大文件,一直是一个痛。上传文件大小限制,页面响应时间超时.这些都是web开发所必须直面的。

本文给出的解决方案是:前端实现数据流分片长传,后面接收完毕后合并文件的思路。

实现文件夹上传,要求:服务端保留层级结构,支持10w级别的文件夹上传。

大文件上传及断点续传,要求:支持50G级的单个文件上传和续传。续传要求:在刷新浏览器后能够续传上传,在重启浏览器后能够继续上传上(关闭浏览器后重新打开),在重启电脑后能够继续上传。

支持PC端全平台,Windows,Mac,Linux

浏览器要求支持全部浏览器,包括ie6,ie7,ie8,ie9,Chrome,Firefox

 

下面贴出简易DEMO源码分享:

前端页面:

技术图片

 

后端代码,此Demo是基于MVC架构的:

后端代码我进行了模块划化,而不是网上的将所有的模块放在一个类中,这样对于以后的维护和升级来说都是一个灾难。

 

文件块处理逻辑

技术图片

 

文件块保存逻辑如下

技术图片

 

web.xml配置如下

技术图片

 

整个项目的截图

技术图片

 

依赖的JAR包如下

技术图片

 

运行效果如下:

技术图片

 

在此分享!希望多多指正~

后端代码逻辑大部分是相同的,目前能够支持MySQL,Oracle,SQL。在使用前需要配置一下数据库,可以参考我写的这篇文章:http://blog.ncmem.com/wordpress/2019/08/07/java超大文件上传与下载/

欢迎入群一起讨论:374992201

以上是关于PHP 大文件上传,支持断点续传,求具体方案、源码或者文件上传插件的主要内容,如果未能解决你的问题,请参考以下文章

java http大文件断点续传上传解决方案

java http大文件断点续传上传解决方案

JS 前端大文件上传源码

内网大文件传输断点续传源码

B/S之大文件分段上传断点续传

VUE 超大文件上传解决方案:分片断点上传