Загрузить файлы – массив создан неправильно? ⇐ Php
-
Anonymous
Загрузить файлы – массив создан неправильно?
I have tried multiple uploads via
and my javascript/jquery code looks like this : (taken from other SoF articles)
$(document).on('submit', '#addform', (function() { var files = $('#file_name')[0].files; var formData = new FormData(); for (var i=0; i < files.length; i++) formData.append('file_names[]', files); $.ajax({ url: 'ajax_addrecord.php', type: "POST", data: formData, contentType: false, cache: false, processData:false, timeout: 2000, success: function(data) { console.log('Record added.'); } }); }));
but when I do this in my PHP file (just to check if the files arrive ok)
error_log($date_time." :: ".print_r($_FILES, true), 0);
the result is as follows:
2024-03-03 11:14:47 :: Array ( [file_names] => Array ( [name] => Array ( [0] => HeleneBarrow Profil.png [1] => horn_fuuuck_lovers.JPG [2] => lakn_profil_mona.JPG ) [type] => Array ( [0] => image/png [1] => image/jpeg [2] => image/jpeg ) [tmp_name] => Array ( [0] => /tmp/phpZ3FVIl [1] => /tmp/phpvolre9 [2] => /tmp/phpp4gYJW ) [error] => Array ( [0] => 0 [1] => 0 [2] => 0 ) [size] => Array ( [0] => 270198 [1] => 12359 [2] => 82773 ) ) Expected result should look like this:
[file_names] => Array [0] => { ( [name] => HeleneBarrow Profil.png [type] => image/png [tmp_name] => /tmp/phpNmM8Se [error] => 0 [size] => 270198 ) } [1] => { ( [name] => horn_fuuuck_lovers.JPG [type] => image/jpeg [tmp_name] => /tmp/phpvolre9 [error] => 0 [size] => 270198 ) } [2] => { ( [name] => lakn_profil_mona.JPG [type] => image/jpeg [tmp_name] => /tmp/phpp4gYJW [error] => 0 [size] => 270198 ) } It seems it segments the array per attribute instead of per image. Anyone see where I am going wrong?
Best regards,
Lars
Источник: https://stackoverflow.com/questions/780 ... -wrong-way
I have tried multiple uploads via
and my javascript/jquery code looks like this : (taken from other SoF articles)
$(document).on('submit', '#addform', (function() { var files = $('#file_name')[0].files; var formData = new FormData(); for (var i=0; i < files.length; i++) formData.append('file_names[]', files); $.ajax({ url: 'ajax_addrecord.php', type: "POST", data: formData, contentType: false, cache: false, processData:false, timeout: 2000, success: function(data) { console.log('Record added.'); } }); }));
but when I do this in my PHP file (just to check if the files arrive ok)
error_log($date_time." :: ".print_r($_FILES, true), 0);
the result is as follows:
2024-03-03 11:14:47 :: Array ( [file_names] => Array ( [name] => Array ( [0] => HeleneBarrow Profil.png [1] => horn_fuuuck_lovers.JPG [2] => lakn_profil_mona.JPG ) [type] => Array ( [0] => image/png [1] => image/jpeg [2] => image/jpeg ) [tmp_name] => Array ( [0] => /tmp/phpZ3FVIl [1] => /tmp/phpvolre9 [2] => /tmp/phpp4gYJW ) [error] => Array ( [0] => 0 [1] => 0 [2] => 0 ) [size] => Array ( [0] => 270198 [1] => 12359 [2] => 82773 ) ) Expected result should look like this:
[file_names] => Array [0] => { ( [name] => HeleneBarrow Profil.png [type] => image/png [tmp_name] => /tmp/phpNmM8Se [error] => 0 [size] => 270198 ) } [1] => { ( [name] => horn_fuuuck_lovers.JPG [type] => image/jpeg [tmp_name] => /tmp/phpvolre9 [error] => 0 [size] => 270198 ) } [2] => { ( [name] => lakn_profil_mona.JPG [type] => image/jpeg [tmp_name] => /tmp/phpp4gYJW [error] => 0 [size] => 270198 ) } It seems it segments the array per attribute instead of per image. Anyone see where I am going wrong?
Best regards,
Lars
Источник: https://stackoverflow.com/questions/780 ... -wrong-way
Мобильная версия