2015-06-07 3 views
0

Таким образом, функция ниже работает точно так, как я хочу, за исключением того, что она отправляет только один из исходных файлов (аргумент представляет собой массив файлов). Когда я пытаюсь настроить текущую функцию, она влияет на скрипт способами, которые я действительно не понимаю ...Ajax Posting Images

Честно говоря, я мог бы просто перебирать массив, а затем игнорировать остальную часть скрипта, но я хотел опубликовать чтобы узнать, может ли кто-нибудь еще объяснить, что происходит, потому что это раздражает меня, что я не могу понять это ...

Любая помощь будет оценена!

function readfiles(files) { 
     // debugger; 
     var formData = tests.formdata ? new FormData() : null; 
     for (var i = 0; i < files.length; i++) { 
      if (tests.formdata) formData.append('file ', files[i]); 
      previewfile(files[i]); 
     } 

     // now post a new XHR request 
     if (tests.formdata) { 
      var xhr = new XMLHttpRequest(); 
      xhr.open('POST', './file_upload_parser.php'); 
      xhr.onload = function() { 
      progress.value = progress.innerHTML = 100; 
      }; 

      if (tests.progress) { 
      xhr.upload.onprogress = function (event) { 
       if (event.lengthComputable) { 
       var complete = (event.loaded/event.total * 100 | 0); 
       progress.value = progress.innerHTML = complete; 
       } 
      } 
      } 

      xhr.send(formData); 
     } 
    } 

ответ

0

Попробуйте

formData.append('file[]', files[i]); 

[] представляет собой массивы в PHP для запроса данных.

+0

Так что теперь я получаю доступ к изображению с помощью этого синтаксиса: $ name = $ _FILES ["file"] ["name"]; Теперь, когда это массив, это будет что-то вроде $ _FILES ["files] [0] [name] ;? –