文件上传的乐趣

修改php配置文件(php.ini),改变文件上传大小

         配置项 post_max_size =1024M

                     upload_max_filesize =1024M

多文件上传

form表单中添加多个input[type='file']标签

加上multiple = 'multiple'属性

多文件无刷新上传(ajax)

<input type='file' id='file' name='file[]' multiple = 'multiple'>

//上传按钮改为button,给点击事件

<button onclick='upload()'>多文件上传</button>

//js

<script>

function upload() {

var xhr=new XMLHttpRequest();//第一步

//新建一个FormData对象

var formData=new FormData();//++++++++++

//获取id=file文件

var newfile=document.getElementById('file').files;

//        console.log(newfile);

//        return;

//追加文件数据

//        formData.append('file', newfile);单个文件

for(i=0;i<newfile.length;i++){

      formData.append("file["+i+"]",newfile[i]);//++++++++++

}

//post方式

xhr.open('POST','upload.php');//第二步骤

//发送请求

xhr.send(formData);//第三步骤

//ajax返回

xhr.onreadystatechange=function(){//第四步

          if(xhr.readyState==4&&xhr.status==200) {

                console.log(xhr.responseText);

          }

 };

//设置超时时间

xhr.timeout=10000;

xhr.ontimeout=function(event){

            alert('请求超时!');

       }

}

//php文件


/**

* 文件上传保存

*/

print_r($_FILES);

for($i=0;$i<count($_FILES["file"]['name']);$i++){

$name=$_FILES["file"]["name"][$i];

move_uploaded_file($_FILES["file"]["tmp_name"][$i],iconv("UTF-8","gb2312",$name));

}

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • Ajax和XMLHttpRequest 我们通常将Ajax等同于XMLHttpRequest,但细究起来它们两个是...
    changxiaonan阅读 2,328评论 0 2
  • 方法一 对php.ini进行修改 file_uploads = on; //是否允许通过http上传文件的开关(默...
    SilverBullet007阅读 955评论 0 1
  • 在完成上传三维模型的功能的时候,考虑到一般的三维模型都是多个文件组成的文件夹,所以就试了试红宝书中提到的FormD...
    shaYanL阅读 2,071评论 2 2
  • 基于官方文档的翻译,官方文档 file_browser_callback这个选项允许你添加自己的文件或者图片浏览器...
    Keriy阅读 22,496评论 2 9
  • 路飞是被吵醒的,准确的说是被艾斯吵醒的,刚睁开眼睛的他脑中还很浑噩,神情还不清明,眼前闪过的一帧帧都是梦里...
    小良公子阅读 663评论 0 1