PHP断点上传大文件【原创

来源:https://www.sucaihuo.com/js/3102.html 2017-09-28 09:16浏览(3660) 收藏

javascript+php大文件分片上传文件demo下载,PHP断点上传文件,支持上传加载进度显示、暂停和继续上传文件功能
PHP断点上传大文件
分类:PHP > 上传 难易:中级
下载资源 下载积分: 320 积分

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

断点上传动画效果

若是上传速度慢,请在 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;
}

修改完记得清楚浏览器缓存

声明:本文为原创文章,如需转载,请注明来源sucaihuo.com并保留原文链接:https://www.sucaihuo.com/js/3102.html
评论2
头像

系统已开启自动识别垃圾评论机制,识别到的自动封号,下载出错或者资源有问题请联系全栈客服QQ 1915635791

  • 头像 椅子
    02-10 17:48
    ***
    花了钱 还没有试能不能用 上传 大文件1G的
  • 头像 沙发
    07-05 18:48
    ***
    本地测试上传速度很慢,怎么调节
    1
    ***:

    搞定了,改下分片大小

1 2