主页 > 知识库 > php+ajax实现文件切割上传功能示例

php+ajax实现文件切割上传功能示例

热门标签:南京3D地图标注 办理400电话哪家好点 咸阳电销 重庆外呼电销系统多少钱 正规电销机器人系统 邢台400电话办理 南宁电话外呼系统线路 济源百应电销机器人联系方式 嘟嘟云外呼系统

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

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

!DOCTYPE HTML>
html lang="zh-CN">
head>
  meta charset="UTF-8">
  title>/title>
/head>
body>
  form method="post" id="myForm">
    input type="file" name="file" id="upfile" />
    input type="submit" name="submit" value="提交" />
  /form>
  div id="upStatus">/div>
/body>
script type="text/javascript">
  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;
  };
/script>
/html>

upfile.php代码如下:

?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技巧与应用小结》、《PHP网络编程技巧总结》、《php字符串(string)用法总结》、《php+mysql数据库操作入门教程》及《php常见数据库操作技巧汇总》

希望本文所述对大家PHP程序设计有所帮助。

您可能感兴趣的文章:
  • PHP大文件切割上传并带进度条功能示例
  • PHP大文件切割上传功能实例分析
  • PHP大文件分割上传 PHP分片上传
  • PHP搭建大文件切割分块上传功能示例
  • php+ajax实现图片文件上传功能实例
  • 使用ajaxfileupload.js实现ajax上传文件php版
  • php+ajax实现异步上传文件或图片功能
  • File, FileReader 和 Ajax 文件上传实例分析(php)
  • PHP+Ajax异步带进度条上传文件实例
  • PHP结合jQuery插件ajaxFileUpload实现异步上传文件实例

标签:陇南 黄山 武汉 平顶山 南通 河南 通辽 唐山

巨人网络通讯声明:本文标题《php+ajax实现文件切割上传功能示例》,本文关键词  php+ajax,实现,文件,切割,;如发现本文内容存在版权问题,烦请提供相关信息告之我们,我们将及时沟通与处理。本站内容系统采集于网络,涉及言论、版权与本站无关。
  • 相关文章
  • 下面列出与本文章《php+ajax实现文件切割上传功能示例》相关的同类信息!
  • 本页收集关于php+ajax实现文件切割上传功能示例的相关信息资讯供网民参考!
  • 推荐文章