PHP实现带进度条的Ajax文件上传功能示例_php技巧_脚本之家

正文实例汇报了PHP完毕带进度条的Ajax文件上传成效。分享给大家供我们参照他事他说加以考查,具体如下:

本文实例陈诉了PHP使用HTML5
FileApi完结Ajax上传文件成效。分享给大家供我们参照他事他说加以考察,具体如下:

本文实例汇报了PHP+iframe模拟Ajax上传文件效率。分享给大家供大家参照他事他说加以侦查,具体如下:

事先分享了风流倜傥篇有关 php使用FileApi达成Ajax上传文件
的篇章,里面的Ajax文件上传是不带进度条的,后日赋享豆蔻梢头篇有关带进程条的Ajax文件上传文章。

FileApi是HTML5的三个新特色,有了那个新特征,js就能够读取本地的文书了,然后完毕真正的Ajax上传文件了,并不是iframe方法,下边会介绍api的选择,以致贯彻Ajax上传文件:

xmlhttprequest level 1中,Ajax是无法上传文件的,因为js不可能操作当三步跳件,然则商场上有一点点Ajax异步上传文件的插件,是怎么形成的啊?答案:能够采取iframe仿照Ajax上传文件。接下来博主将应用iframe来模拟Ajax来上传文件。

12-progress-upload.html文件:

FileApi使用

09-iframe-upload.html文件:

页面中重视有贰个上传文件控件,有文件被筛选时响应selfile()方法,接着利用js读取上传文件、创立FormData对象和xhr对象,利用xhr2的新专门的学业,写一个监听上传进程函数,诉求11-fileApi.php文件。

当上传文件后,就能接触selfile()函数,selfile()代码:

页面中有三个表单,表单中有一个上传文件按键和提交开关,点击提交开关试行ajaxUpload函数,然后动态创设iframe标签,让其不可知,最终设置表单的target属性指向iframe。

 HTML5带进度条的上传功能  function selfile(){ //js读取上传文件 var file = document.getElementsByTagName[0].files[0]; //创建FormData对象 var fd = new FormData(); fd.append; //ajax上传文件 var xhr = new XMLHttpRequest(); xhr.open('POST','11-fileApi.php',true); //利用xhr2的新标准,为上传过程,写一个监听函数 xhr.upload.onprogress = function{ if{//文件长度可计算 var percent = 100*ev.loaded/ev.total;//计算上传的百分比 document.getElementById.style.width = percent + '%';//更改上传进度 document.getElementById.innerHTML = parseInt+'%';//显示上传进度 } } xhr.send;//发送请求 } #progress{ width:500px; height:30px; border:1px solid green; } #bar{ width:0%; height:100%; background-color: green; } HTML5带进度条的上传功能    
var files = document.getElementsByTagName[0].files;//fileList对象,文件列表对象,表示有多个文件被上传,如果只有1个文件上传也是fileList对象var files = document.getElementsByTagName[0].files[0];//file对象,表示单个上传文件
 iframe模拟Ajax上传文件  /** * 文件上传 * @return bool 是否提交表单 * 1、捕捉表单提交的动作 * 2、动态创建iframe标签,然其不可见 * 3、设置表单的target属性指向iframe */ function ajaxUpload(){ var iframeName = 'upload'+Math.random();//给iframe取名 $('<iframe name='+iframeName+' width="0" height="0" frameborder="0"></iframe>').appendTo;//动态创建iframe $.attr;//设置form的target属性 $.html('<img src="https://www.jb51.net/article/progress.jpg"/>');//显示上传是否成功 //return false; } iframe模拟Ajax上传文件  

11-fileApi.php文件:

Ajax上传文件

09-iframe-upload.php文件:

首先判别是或不是有文件上传,然后判别文件上传是否中标,最后移动文件至当前目录下的upload目录下,文件名不改变。

11-fileApi.html文件:

第一延时3秒,为了能看出加载的图纸,然后决断是不是有上传文件,然后再次来到生机勃勃段Js代码,这段js是在页面中显得是或不是上传成功

越多关于PHP相关内容感兴趣的读者可查看本站专题:《php文件操作总括》、《PHP目录操作技巧汇总》、《PHP常用遍历算法与技巧总括》、《PHP数据结构与算法教程》、《php程序设总括法计算》及《PHP互连网编制程序技艺总计》

页面中珍视有一个上传文件开关,假诺有文件上传,onchange事件被响应,selfile函数调用,然后js读取上传文件、把公文名和尺寸展现在页面中、创制FormData对象并累积数据、ajax上传文件、预览上传文件效果。

parent.document.getElementById.innerHTML='$error'";//显示上传是否成功?>

瞩望本文所述对我们PHP程序设计有所扶植。

 fileApi实现Ajax上传文件  function selfile(){ var file = document.getElementsByTagName[0].files[0];//js读取上传文件 var con = ''; con += '文件名:' + file.name + '<br/>'; con += '大小:' + file.size; document.getElementById.innerHTML = con;//把文件名和大小显示在页面中 var fd = new FormData();//创建FormData对象 fd.append;//添加文件数据 //ajax上传文件 var xhr = new XMLHttpRequest(); xhr.open('POST','11-fileApi.php',true); xhr.send; var img = document.createElement;//动态创建img标签 img.src = window.URL.createObjectURL;//把二进制对象直接读出浏览器显示的资源 document.getElementsByTagName[0].appendChild;//把img标签动态添加到dom树中 }  

越来越多关于PHP相关内容感兴趣的读者可查看本站专项论题:《php文件操作总计》、《PHP目录操作技巧汇总》、《PHP常用遍历算法与技巧总括》、《PHP数据结构与算法教程》、《php程序设总结法总计》及《PHP互连网编制程序本领总括》

11-fileApi.php文件:

梦想本文所述对咱们PHP程序设计具备助于。

先是决断是不是有文件上传,然后判定上传是不是成功,最终把公文复制到当前目录下的upload目录下,文件名保持不变。

更加多关于PHP相关内容感兴趣的读者可查阅本站专项论题:《php文件操作总计》、《PHP目录操作本事汇总》、《PHP常用遍历算法与工夫计算》、《PHP数据结构与算法教程》、《php程序设总括法计算》及《PHP互联网编制程序本领计算》

盼望本文所述对我们PHP程序设计具备助于。

发表评论