PHP断点上传实现原理 1、javascript有个slice函数可以截取文件指定片段大小,然后把文件写入FormData,与普通的 Ajax 相比,使用 FormData 的最大优点就是我们可以异步上传二进制文件。 2、上传过程中把分片信息存储到LocalStorage。还有一种方式是,上传时到服务器去看有没有这个文件,再取回大小。根据这个大小找到当前未上传完的文件的起始位置。当前demo主要用第一种方式实现。 3、服务端用PHP来实现。php的file_put_contents()函数可以追加写入文件。第一个参数为写入路径,第二个为文件,第三个参数FILE_APPEND可以追加写入。具体使用查看:http://php.net/manual/zh/function.file-put-contents.php 本文转自:http://www.yuncode.net/php/3102.html 若是上传速度慢,请在 static\common.js 288行 设置切片上传大小 UP.__init({ myFile: "#myFile", //fileinput节点 ServerUrl:"/fileTest.php",//服务器地址 eachSize:210024 //分片大小 }); 取消重复文件上传 static\common.js 172行注释以下代码 if ((file_obj.chunks() - 1) == c) { alert("该文件已上传!"); return; }