Javascript-форум (https://javascript.ru/forum/)
-   Элементы интерфейса (https://javascript.ru/forum/dom-window/)
-   -   each не может перебрать массив файлов. Плизззз (https://javascript.ru/forum/dom-window/57949-each-ne-mozhet-perebrat-massiv-fajjlov-plizzzz.html)

laimas 28.08.2015 08:15

foreach($files as $item) - не получите вы так в РНР имени файла. Надо изучать то с чем работать нужно, там то собственно несколько строк и все, вы либо не читали вообще, либо не вникали и не пробовали разобраться.

espltd 28.08.2015 09:24

да прочитал я вашу ссылку данную на хабр, но там не описано про цикл ничего. Я про each спрашиваю. Все остальное по шагам я уже давным давно сделал. Сейчас то мне перебрать надо элементы массива. Ну есть недопонимания

espltd 28.08.2015 09:55

Разобрался. Просто подумал получше. Но интересно вот что. С циклом each почему-то не перебирались элементы, а циклом for все как на ладони. Зачем мучился с этим each. Жеееесть

laimas 28.08.2015 09:55

А причем тут цикл? Вы пытаетесь пройти циклом строковое значение, а это означает, что вы не знаете из чего нужно получать имена файлов коллекции выбранных для загрузки. По ссылке и описывается что этот параметр можно получить обратившись к это коллекции файлов, и указаны свойства объекта, ОДНОГО объекта, каждого файла в коллекции! Или это не понятно?
Обходом этой коллекции в цикле, при чем не обязательно each, можно получить информацию о каждом из файлов коллекции.

Как вы читаете, что там не понятно, ума не приложу. Как и а РНР - foreach($files as $item) выведу $item и вуаля.... Как бы не так. Если $files вы присвоили массив $_FILES['keyname'] (что собственно и не имеет смысла), то $item, это массив описывающий парметры загруженного файла из коллекции загруженных, но никак не имя файла. Что нужно сделать чтобы получить имя файла? Нужно получить ключ 'name' этого массива. Чем это разница от JS, где нужно знать что содержит имя файла, как и в РНР нужно знать, что имя файла содержит $_FILES['keyname']['name']? Что в РНР для получения всех имен нужен цикл, а в JS волшебным образом само получается? Наверное и ежу понятно, что тоже нужен цикл.

Чтобы foreach($files as $item) и $item это имя файла, то $files, это должен быть массив имен всех загруженных файлов, иначе фиг.

espltd 28.08.2015 10:07

Мы с вами на разных языках. Что вы прицепились к foreach($files as $item) ???. Разумеется переборка массива. И ни что иное. Я просто как пример привел. ВЫ вообще вопрос мой читали? Я уже столько раз написал, что меня лишь интересовала переборка массива в котором по ключам содержатся инфа о фалах. Ужаасс. Вы тоже умника из себя стройте. Знаете экстраполярные парадигмы дизъюктивных межпространственных графов в теории исключений противоположных по смыслу показателей?

laimas 28.08.2015 10:19

Цитата:

Сообщение от espltd
Знаете экстраполярные парадигмы дизъюктивных межпространственных графов в теории исключений противоположных по смыслу показателей?

И Бином Ньютона... Вот именно не надо умничать, и не обращать внимания на мировые проблемы решая простую и конкретную. Я без всякой мысли об умничать, и вы тоже перечитайте, что я написал. А я написал о том, что в РНР вы знаете, что нужно обойти в циклом, и слава богу что знаете где получить. А отсюда и вопрос - чем же отличается JS от РНР, если нечто нужно получить из массива? Ничем, так чего же вы ожидаете по ссылке но там не описано про цикл ничего о массиве, если это и так ясно? Главное знать где это и из чего взять. Вы же постоянно твердите о each.

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

espltd 28.08.2015 10:52

Ну мое поколение уже выросло :p Я же не малолетка. Ну тупанул что-то с этой задачкой. Да уже решил. Спасибо за нравоучение:thanks:

espltd 28.08.2015 11:05

Блин. а почему в Alert то попадает [object Object] ??? В логах ведь все отлично. Извините за глупые вопросы(

var inputFile = document.getElementById('file').files;
       
        for(i=0; i < inputFile.length; i++){
            var res = inputFile[i];

            alert(res);
        }

ksa 28.08.2015 11:09

Цитата:

Сообщение от espltd
а почему в Alert то попадает [object Object] ?

Алерт врать не будет - это действительно объект. ;)
Это продемонстрировано в сообщении №19
http://javascript.ru/forum/dom-windo...tml#post386076

espltd 28.08.2015 11:12

так так так. ВОт минусы быть чайником в яваскрипт. Надо подумать. Мне надо обратится к fileName:blink:


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