У меня работает скрипт загрузки.Единственное, что мне нужно отредактировать, это формат массива $ _FILES.
Мой HTML
<input id="upload_dialog" name="file[]" type="file" multiple>
Мой Javascript
<script>
$('#upload_dialog').on('change', function(event) {
var form = new FormData();
$.each(event.target.files, function(key, value) {
form.append(key, value);
});
$.ajax({
url: 'url,
type: 'POST',
data: form,
processData: false,
contentType: false,
cache: false,
async: true,
done: function(data) {
data = JSON.parse(data);
});
});
</script>
Этот массив я получу, загрузив файлы черезajax.
array(2) {
[0]=>
array(5) {
["name"]=>
string(11) "ps-logo.jpg"
["type"]=>
string(10) "image/jpeg"
["tmp_name"]=>
string(23) "/home/www/tmp/phpMBu4TE"
["error"]=>
int(0)
["size"]=>
int(24722)
}
[1]=>
array(5) {
["name"]=>
string(12) "tnk-logo.png"
["type"]=>
string(9) "image/png"
["tmp_name"]=>
string(23) "/home/www/tmp/php9yPGpf"
["error"]=>
int(0)
["size"]=>
int(23748)
}
}
Но мне нужен массив такого типа, который я обычно получаю, если отправляю форму загрузки только через чистый PHP.
array(1) {
["file"]=>
array(5) {
["name"]=>
array(2) {
[0]=>
string(12) "tnk-logo.png"
[1]=>
string(11) "ps-logo.jpg"
}
["type"]=>
array(2) {
[0]=>
string(9) "image/png"
[1]=>
string(10) "image/jpeg"
}
["tmp_name"]=>
array(2) {
[0]=>
string(23) "/home/www/tmp/phpWGezym"
[1]=>
string(23) "/home/www/tmp/phpIqOpKY"
}
["error"]=>
array(2) {
[0]=>
int(0)
[1]=>
int(0)
}
["size"]=>
array(2) {
[0]=>
int(23748)
[1]=>
int(24722)
}
}
}
Есть ли какие-нибудь простыеспособ, как отправить данные через AJAX, чтобы получить этот тип массива?