Javascript-форум (https://javascript.ru/forum/)
-   jQuery (https://javascript.ru/forum/jquery/)
-   -   Передача файлов по ajax - jQuery (https://javascript.ru/forum/jquery/68317-peredacha-fajjlov-po-ajax-jquery.html)

elink12 08.04.2017 19:21

Тем что я не могу сделать просто

foreach($_FILES['files']){
получить массив описания конкретного файла и сохранить.
}

laimas 08.04.2017 19:24

Цитата:

Сообщение от elink12
Тем что я не могу сделать просто
foreach($_FILES['files'])

Это почему? Да и не foreach($_FILES['files']), а foreach($_FILES['files'] as $key=>$val).

Вопрос - если проходом в цикле "ненормальной структуры" можно создать "нормальную структуру", а значит иметь доступ ко всем элементам массива, то нахрена же создавать массив-посредник?

elink12 08.04.2017 20:13

laimas, я в принципе не спрашивал, как мне обработать массив "ненормальной" структуры, такое решение есть и оно работает. Меня сугубо интересовало ,как подготовить сразу нормальный массив т.к. я столкнулся с этим в очередной раз и решил спросить у профи, решения нет я так понимаю?

laimas 08.04.2017 20:26

Цитата:

Сообщение от elink12
как подготовить сразу нормальный массив

Нет ненормальных массивов, а значит ответить на ваш вопрос нельзя. Вы их по каким только вам понятным признакам классифицируете на нормальные и не нормальные, значит и ответ знать только вам.

Загрузка файлов на сервер всегда должна начинаться с проверки загрузки файлов именно методом POST, а не загрузка "левых файлов", и отсутствия ошибок в ключе error. Для проверки ошибок загрузки достаточно использовать стандартные функции для работы с массивами, которых даже больше чем надо, и гонять массив в цикле не потребуется.

А если ошибок нет, совсем не сложно обойти циклом только массив ключа tmp_name, так как это и есть файлы, все остальное можно получить из исходного массива по ключу.

Зачем создавать какой-то промежуточный массив? Ну если так охота, партесь, создавайте, никто же не запрещает. :)

elink12 08.04.2017 21:20

Да, спасибо . Не вижу смысла разводить полемику , разве ради холиварта )) это все понятно, просто мне было бы так удобнее обрабатывать данные, если у кого то будет решение, буду благодарен )


Часовой пояс GMT +3, время: 10:25.