首页 > 解决方案 > 使用 AJAX javascript-php 上传多个文件(无 jQuery)

问题描述

我正在尝试将多个文件上传到运行 PHP 的服务器。我的代码如下,但我目前无法成功上传多个文件。我相信我的错误可能在我的 javascript 中,但我不确定在哪里。请问有人可以建议吗?根据我的代码,我收到“未收到文件”。

HTML:

 <div>
    <p><input id="file" type="file" name="file[]" multiple></p>
    <div><button id="btn">Upload all files</button></div>
</div>

JAVASCRIPT:

 document.getElementById('btn').addEventListener('click', function(){
        var inputElem = document.getElementById('file');
        var arrayFiles = inputElem.files;

        var formdata = new FormData();
        formdata.append('file[]', arrayFiles);

        var xmh = new XMLHttpRequest;
        xmh.onreadystatechange = function(){
            if(xmh.readyState == 4 && xmh.status == 200){

                var response = xmh.responseText;
                console.log('response: '+response);
            }
        }
        xmh.open('POST', 'serverFile.php');
        xmh.send(formdata);   
    });

PHP:

 if(isset($_FILES['file'])){
  //  DO SOMETHING
  echo 'files received';
 }else{

  echo 'files not received';
 }

标签: javascriptphpajax

解决方案


推荐阅读