Uploading multiple files using formData()
arrays, javascript, upload, xmlhttprequest
Solution
You have to use `files.length` to append in JavaScript, and then send it via an Ajax request:
JavaScript:
var files = document.getElementById('fileToUpload').files;
for (var x = 0; x < files.length; x++) {
fd.append("fileToUpload[]", files[x]);
}
PHP:
$count = count($_FILES['fileToUpload']['name']);
for($i = 0; $i < $count; $i++){
echo 'Name: '.$_FILES['fileToUpload']['name'][$i].'<br/>';
}
Problem
``` var fd = new FormData(); fd.append("fileToUpload", document.getElementById('fileToUpload').files[0]); var xhr = new XMLHttpRequest(); xhr.open("POST", "uph.php"); xhr.send(fd); ``` uph.php: ``` var_dump($_FILES['fileToUpload']); ``` This works, but obviously for the `files[0]` only. How to get this working for chosen file? I tried removing the `[0]`, but it didn't work.