手机版

PHP大文件切割上传并带进度条功能示例

时间:2021-08-22 来源:互联网 编辑:宝哥软件园 浏览:

本文实例讲述了服务器端编程语言(专业超文本预处理器的缩写)大文件切割上传并带进度条功能。分享给大家供大家参考,具体如下:

前面一篇介绍了服务器端编程语言(专业超文本预处理器的缩写)大文件切割上传功能,这里再来进一步讲解服务器端编程语言(专业超文本预处理器的缩写)大文件切割上传并带进度条功能。

项目结构图:

14-slice-upload-fix.html文件:

!DOCTYPE htmlhtmlhead元字符集='utf-8 '元http-equiv=' X-UA-兼容'内容=' IE=边'标题大文件切割上传带进度条/title link rel='样式表href=' script var xhr=new XMlhttprequest();//xhr对象定义变量时钟=null函数self file(){ clock=window。setinterval(发送文件,1000);} var send file=(function(){ const LENGTH=1024 * 1024 * 10;//每次上传的大小var start=0;//每次上传的开始字节var end=start LENGTH//每次上传的结尾字节定义变量发送=false//表示是否正在上传var fd=null/创建表单数据对象var blob=null/二进制对象定义变量百分比=0;返回(函数(){ //如果有块正在上传,则不进行上传if(sending==true){ return;} var file=document。getelementsbyname(' video ')[0].文件[0];//文件对象//如果员工。尺寸,就结束了if(开始文件。大小){ clearInterval(时钟);返回;} blob=file.slice(开始,结束);//根据长度截取每次需要上传的数据FD=new FormData();//每一次需要重新创建fd.append('video ',blob);//添加数据到软驱对象中向上(FD);//重新设置开始和结尾开始=结束;end=start LENGTH发送=假;//上传完了//显示进度条百分比=100 *开始/文件。大小;如果(百分比100){ percent=100;}文档。getelementbyid(' bar ')。风格。宽度=百分比“%”;document.getElementById('bar ').innerHTML=parseInt(百分比)"%";});})();function up(fd){ xhr.open('POST ',' 13-slice-upload.php ',false);xhr。发送(FD);}/script style # progress { width :500 px;高度:30 pxborder:1px纯绿色;} #栏{宽度:0%;高度:100%;背景-颜色:绿色;}/style/head dy h1大文件切割上传带进度条/h1 div id=' progress ' div id=' bar '/div/div输入类型=' file ' name=' video ' on change=' self file();//body/html13-slice-upload.php文件:

?php/** *大文件切割上传,把每次上传的数据合并成一个文件* @author webbc */$filename=' ./上传/上传。wmv ';//确定上传的文件名//第一次上传时没有文件,就创建文件,此后上传只需要把数据追加到此文件中if(!file _ exists($ filename)){ move _ uploaded _ file($ _ FILES[' video '][' tmp _ name '],$ filename);} else { FILE _ put _ contents($ filename,FILE _ get _ contents($ _ FILES[' video '][' tmp _ name ']),FILE _ APPEND);}?运行结果图:

更多关于服务器端编程语言(专业超文本预处理器的缩写)相关内容感兴趣的读者可查看本站专题: 《php文件操作总结》 、 《PHP目录操作技巧汇总》 、 《PHP常用遍历算法与技巧总结》 、 《PHP数据结构与算法教程》 、 《php程序设计算法总结》 及《PHP网络编程技巧总结》

希望本文所述对大家服务器端编程语言(专业超文本预处理器的缩写)程序设计有所帮助。

版权声明:PHP大文件切割上传并带进度条功能示例是由宝哥软件园云端程序自动收集整理而来。如果本文侵犯了你的权益,请联系本站底部QQ或者邮箱删除。