Warning: Cannot use a scalar value as an array in /home/admin/public_html/forum/include/fm.class.php on line 757
Warning: Invalid argument supplied for foreach() in /home/admin/public_html/forum/include/fm.class.php on line 770
Warning: Invalid argument supplied for foreach() in /home/admin/public_html/forum/topic.php on line 737 Форумы портала PHP.SU :: Изменить вывод списка файлов
Покинул форум
Сообщений всего: 43
Дата рег-ции: Янв. 2014
Помог: 0 раз(а)
Доброго времени суток. В общем есть такой вот код, который выводит файлы в папке upload/Группа/Логин. Но если в папке Логин есть еще папки, то он и их выведет (а нужно только файлы).
Ругается на строчки function glob_recursive($dir, $mask){ с ошибкой Fatal error: Cannot redeclare glob_recursive() (previously declared in ). И на foreach(glob($dir.'/*') as $filename){ с ошибкой (Warning: Invalid argument supplied for foreach() in
И как изменить в маске, чтобы искал не только форматы .doc, но и .docx?
gefard
Отправлено: 14 Января, 2014 - 20:43:14
Гость
Покинул форум
Сообщений всего: 64
Дата рег-ции: Март 2012
Покинул форум
Сообщений всего: 43
Дата рег-ции: Янв. 2014
Помог: 0 раз(а)
teddy пишет:
PHP:
скопировать код в буфер обмена
$iterator = new RecursiveIteratorIterator(new RecursiveDirectoryIterator(__DIR__.'/papka'));
foreach($iterator as $value){
if(is_file($value)){
echo $value.'<br />';
}
}
papka это название папки, с которой нужно начать проход по папкам и подпапкам
Если делать тем, что вы предложили, то выдает ОГРОМНУЮ ОШИБКУ: Fatal error: Uncaught exception 'UnexpectedValueException' with message 'RecursiveDirectoryIterator::__construct(__DIR__upload/1-78-5/cellse/) [<a href='recursivedirectoryiterator.--construct'>recursivedirectoryiterator.--construct</a>]: failed to open dir: No such file or directory' in /ftp_aerium-01/arhivtz_613/arhivtz.gixx.ru/index.php:529 Stack trace: #0 /ftp_aerium-01/arhivtz_613/arhivtz.gixx.ru/index.php(529): RecursiveDirectoryIterator->__construct('__DIR__upload/1...') #1 {main} thrown in.
Ругается на строчку $iterator = new RecursiveIteratorIterator(new RecursiveDirectoryIterator(__DIR__."upload/".$array2["group"]."/".$array2["login"]."/"));
teddy
Отправлено: 15 Января, 2014 - 16:24:07
Участник
Покинул форум
Сообщений всего: 1462
Дата рег-ции: Апр. 2013
Помог: 91 раз(а)
TheRealKos
А если прочитать и попробовать вникнуть в смысл ошибки, особенно в эту часть
TheRealKos пишет:
No such file or directory
то можно догадаться что вы неверно указали путь до папки с которой нужно начать рекурсивный проход. Путь нужно указывать относительно скрипта
TheRealKos
Отправлено: 15 Января, 2014 - 16:27:53
Новичок
Покинул форум
Сообщений всего: 43
Дата рег-ции: Янв. 2014
Помог: 0 раз(а)
teddy пишет:
Путь нужно указывать относительно скрипта
Ну это я понимаю, скрипт в корневой папке, а начинать искать нужно с папки /upload/Группа/Логин (но после папки Логин есть еще папки).
Когда нормальный человек, уезжая из дома одевает на жену пояс верности, веб-дизайнер ставит на нее счетчик...
teddy
Отправлено: 15 Января, 2014 - 16:40:58
Участник
Покинул форум
Сообщений всего: 1462
Дата рег-ции: Апр. 2013
Помог: 91 раз(а)
Вообщем я не знаю что вы делаете если честно объяснил как мог вариант очень даже рабочий вероятно вы что то делаете не так... попробую ещё раз объяснить
Все просто.
1. Указываем путь относительно скрипта в первой строчке(путь без кирилицы)
2. Запускаем скрипт и радуемся
TheRealKos
Отправлено: 15 Января, 2014 - 16:45:29
Новичок
Покинул форум
Сообщений всего: 43
Дата рег-ции: Янв. 2014
Помог: 0 раз(а)
imya пишет:
А если у вас придут пустые
$array2["group"]
$array2["login"]
?
Они не бывают пустые
gefard
Отправлено: 15 Января, 2014 - 17:08:01
Гость
Покинул форум
Сообщений всего: 64
Дата рег-ции: Март 2012
Помог: 1 раз(а)
TheRealKos пишет:
gefard, хм... раньше выводил папки, теперь же вообще ни чего не выводит
Все гости форума могут просматривать этот раздел. Только зарегистрированные пользователи могут создавать новые темы в этом разделе. Только зарегистрированные пользователи могут отвечать на сообщения в этом разделе.