怎么在php中利用ajax对文件进行切割上传

  介绍

怎么在php中利用ajax对文件进行切割上传?针对这个问题,这篇文章详细介绍了相对应的分析和解答,希望可以帮助更多想解决这个问题的小伙伴找到更简单易行的方法。

具体如下:

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

& lt; ! DOCTYPE  HTML>   & lt; html  lang=皕h-CN"祝辞   & lt; head>   & lt;才能meta  charset=癠TF-8"比;   & lt;才能title> & lt;/title>   & lt;/head>   & lt; body>   & lt;才能form 方法=皃ost", id=癿yForm"比;   ,,,& lt; input 类型=癴ile", name=癴ile", id=皍pfile",/比;   ,,,& lt; input 类型=皊ubmit", name=皊ubmit",价值=https://www.yisu.com/zixun/碧峤?/>
     <脚本type=" text/javascript”>   var myForm=. getelementbyid (“myForm”);   var upfile=. getelementbyid (“upfile”);      myForm。onsubmit=function () {//获取文件对象   var文件=upfile.files [0];//获取文件大小   var文件大?file.size;//一次截取的大小(字节)   var CutSize=1024 * 1024 * 10;//开始截取位置   var CutStart=0;//结束截取位置   var CutEnd=CutStart + CutSize;//截取的临时文件   var临时=new Blob ();      而(CutStart <文件大小){   临时文件。片(CutStart CutEnd);//我们创建一个FormData对象   var fd=new FormData ();//把文件添加到FormData对象中   fd。追加(“文件”,临时文件);      var xhr=new XMLHttpRequest ();//这里使用同步   xhr。(“后”、“upfile开放。php”,假);//上传进度   console.log(数学。轮((CutStart + tmpfile.size)/文件大小* 100)+“%”);//发送FormData对象   xhr.send (fd);//重新设置截取文件位置   CutStart=CutEnd;   CutEnd=CutStart + CutSize;   }   返回错误;   };>

upfile。php代码如下:

& lt; php ?=$ uploadDir  & # 39;。/上传/& # 39;;   如果(! file_exists (uploadDir美元)),{   @mkdir才能(0777年uploadDir美元,,,,真的);   }   $ uploadFile =, uploadDir 美元;只basename(带有_file美元[& # 39;文件# 39;][& # 39;名字# 39;]);      如果(! file_exists(还是美元)),{//才能如果文件不存在   函数的才能(带有_file美元[& # 39;文件# 39;][& # 39;tmp_name& # 39;],,还是美元);   },{else //才能如果文件已存在,追加数据   ,,还是美元,写入,file_get_contents(带有_file美元[& # 39;文件# 39;][& # 39;tmp_name& # 39;]),, FILE_APPEND);   }

关于怎么在php中利用ajax对文件进行切割上传问题的解答就分享到这里了,希望以上内容可以对大家有一定的帮助,如果你还有很多疑惑没有解开,可以关注行业资讯频道了解更多相关知识。

怎么在php中利用ajax对文件进行切割上传