本文实例讲述了php+ajax实现文件切割上传功能。分享给大家供大家参考,具体如下:

html5中的file对象继承blob二进制对象,blob提供了一个slice函数,可以用来切割文件数据。

var myform = document.getelementbyid("myform");

var upfile = document.getelementbyid("upfile");

myform.onsubmit = function() {

//获取文件对象

var file = upfile.files[0];

//获取文件大小

var filesize = file.size;

//一次截取的大小(字节)

var cutsize = 1024 * 1024 * 10;

//开始截取位置

var cutstart = 0;

//结束截取位置

var cutend = cutstart + cutsize;

//截取的临时文件

var tmpfile = new blob();

while(cutstart < filesize) {

tmpfile = file.slice(cutstart, cutend);

//我们创建一个formdata对象

var fd = new formdata();

//把文件添加到formdata对象中

fd.append("file", tmpfile);

var xhr = new xmlhttprequest();

//这里使用同步

xhr.open("post", "upfile.php", false);

//上传进度

console.log(math.round( (cutstart + tmpfile.size) / filesize * 100) + "%");

//发送formdata对象

xhr.send(fd);

//重新设置截取文件位置

cutstart = cutend;

cutend = cutstart + cutsize;

}

return false;

};

upfile.php代码如下:

$uploaddir = './upload/';

if(!file_exists($uploaddir)) {

@mkdir($uploaddir, 0777, true);

}

$uploadfile = $uploaddir . basename($_files['file']['name']);

if(!file_exists($uploadfile)) {

//如果文件不存在

move_uploaded_file($_files['file']['tmp_name'], $uploadfile);

} else {

//如果文件已存在,追加数据

file_put_contents($uploadfile, file_get_contents($_files['file']['tmp_name']), file_append);

}

如您对本文有疑问或者有任何想说的,请点击进行留言回复,万千网友为您解惑!

php切割文件上传,php+ajax实现文件切割上传功能示例相关推荐

  1. php调用swf文件上传,swfupload-jquery-plugin AJAX+PHP 文件上传

    var listitem=' >'+ file.name+' ('+Math.round(file.size/1024)+' KB)'+ ' > '+ ' '+ ' > '+ ' & ...

  2. ajax send上传出错,Ajax在xmlhttp.send上出错

    我正在尝试使用AJAX来更新数据库列.我正确地创建了变量并使用Javascript函数xmlhttp.open和xmlhttp.send将数据发送到我的PHP文件,该文件将数据添加到数据库行. 我做了 ...

  3. angular文件上传php,ajax jquery angular 上传文件与分隔上传

    简单总结下 #ajax上传文件 var xmlhttp = new XMLHttpRequest(); xmlhttp.open("POST", "2.php" ...

  4. ajax文件后台提交,有关文件上传 非ajax提交 得到后台数据问题

    下文给大家介绍文件上传非ajax提交得到后台数据的操作方法,具体详情如下所示: .......... 根据id获得表单数据然后发送ajax请求,获得后台返回数据,处理数据,完美. 但是如果需要上传文件 ...

  5. maven工程 java 实现文件上传 SSM ajax异步请求上传

    java ssm框架实现文件上传 实现:单文件上传.多文件上传(单选和多选),并且用 ajax 异步刷新,在当前界面显示上传的文件 首先springmvc的配置文件要配置上传文件解析器: 1 < ...

  6. ajax 文件上传,ajax

    ajax 文件上传,ajax 啥也不说了,直接上代码! <input type="file" id="file" name="myfile&qu ...

  7. html5支持ajax和jQuery吗,使用HTML5文件上传与AJAX和jQuery(Using HTML5 file uploads with AJAX and jQuery)...

    使用HTML5文件上传与AJAX和jQuery(Using HTML5 file uploads with AJAX and jQuery) 诚然,Stack Overflow上有类似的问题,但似乎并 ...

  8. ajax文件上传data,ajax文件上传-FormData()

    HTML: JS: $("input[type='button']").on('click', upfile); /** * [upfile 文件上传] * @return {[O ...

  9. springmvc ajax excel文件上传,JSP+ajax+springMVC+MayBatis处理excel上传导入

    jsp 导入 jquery //数据导入 function importData(){ var files = $('input[name="importData"]').prop ...

最新文章

  1. 使用GoAccess分析Nginx日志
  2. 中科大硬核“毕业证”:“一生一芯”计划下,5位本科生带自研芯片毕业
  3. css dl图片布局,经典图文列表以及CSS布局切换
  4. 震惊,竟然有人用Taro来。。。
  5. java nep_Java 9 揭秘(1. 入门介绍)
  6. 15年3月c语言试卷,2015年3月二级C语言新增无纸化真题试卷(三)
  7. 牛客题霸 [旋转字符串]C++题解/答案
  8. 【渝粤教育】广东开放大学 计算机思维 形成性考核 (29)
  9. 微信小程序知识点GET
  10. 产品经理必看:终于有人把数据指标讲明白了
  11. 我用Python帮学校写了一款图书管理系统!教导员居然请我吃饭
  12. 前端:JS/27/HTML DOM简介和新特性,HTML DOM访问HTML元素的方法,元素对象的属性(标准属性),noscroll事件,实例:书讯快递
  13. PHP header发送各种类型文件及设置文件下载名
  14. Mysql忘记密码,支持中文,tab补全
  15. 搭载Apple芯片的Mac如何使用macOS恢复?
  16. 简单免费内网穿透教程,外网快速访问内网群晖/nas/树莓派
  17. 央视《家有妙招》整理版,值得永远收藏!
  18. repost ACM算法学习三境界---王国维人间词话
  19. mysql sql 按天分组统计_Mysql按日、周、月进行分组统计
  20. Beta周王者荣耀交流协会第一次Scrum会议

热门文章

  1. 今晚直播丨国产数据库入门:openGauss数据库的基本管理和SQL语句入门
  2. 周末直播丨细致入微 - OEM Grid Control 配置部署与使用
  3. 金融级分布式数据库架构设计要点
  4. GaussDB(DWS)中共享消息队列实现的三大功能
  5. 华为云数据库首席架构师:关于数据库他这样说……
  6. MySQL事务处理特性的实现原理
  7. 案例集锦|科技赋能,华为云GaussDB助千行百业数字化转型
  8. 科技抗疫,少年可期,为这群有AI的天使开发者疯狂打call
  9. 在modelarts上部署backend为TensorFlow的keras模型
  10. 设计模式的C语言应用-非典型模式-第十章