Форум программистов, компьютерный форум, киберфорум
PHP для начинающих
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.75/8: Рейтинг темы: голосов - 8, средняя оценка - 4.75
0 / 0 / 0
Регистрация: 09.07.2015
Сообщений: 13

Выводить список файлов, папок из директории

24.07.2015, 20:17. Показов 1939. Ответов 13
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Здравствуйте, как выводить список папок в виде select....
Например у меня есть папка и внутри папки 8-9 папок.... как выводить список папок. Папка у меня /uploads/downloads/files/
И внутри этой папки имеются папки zip, rar, apk, exe, mp4, mp3, wav, amr
Нужно выводить вот так (только автоматически)
Pascal
1
2
3
4
5
6
7
8
9
10
<select name="dir">
<option value="zip">zip</option>
<option value="rar">rar</option>
<option value="apk">apk</option>
<option value="exe">exe</option>
<option value="mp4">mp4</option>
<option value="mp3">mp3</option>
<option value="wav">wav</option>
<option value="amr">amr</option>
</select>
Заранее спасибо... Думаю для профессионалов не вопрос...
0
Programming
Эксперт
39485 / 9562 / 3019
Регистрация: 12.04.2006
Сообщений: 41,671
Блог
24.07.2015, 20:17
Ответы с готовыми решениями:

Вывести список файлов и папок в директории. is_file() не работает.
не работает код Надо чтоб вывело папки и файлы.Файлы просто, папки в квадратных скобках.(там половина папок, половина файлов)Выводит все...

Вывести имена файлов и папок в директории
Стоит такая задача: Через Get запрос передаётся имя директории. Необходимо вывести все файлы и папки вы этой директории в в виде...

Каталог папок файлов и директории (с переходами и скачиванием)
Всем доброго времени суток! Есть задача: на ftp в папку (&quot;katalog&quot;) загружаются каждый день pdf-файлы в разные подпапки...

13
Заблокирован
24.07.2015, 20:25
Ну, прочитайте список папок в массив и выводите. В чем проблема? Каждый объект должен быть is_dir() и его имя не должно начинаться с точки.
0
0 / 0 / 0
Регистрация: 09.07.2015
Сообщений: 13
25.07.2015, 13:00  [ТС]
Цитата Сообщение от Июнь Посмотреть сообщение
Ну, прочитайте список папок в массив и выводите. В чем проблема? Каждый объект должен быть is_dir() и его имя не должно начинаться с точки.
Дело в том, что я новичок и у меня знаний не хватает как выводить....
Можете мне написать вывод папок....
Думаю не больше 10 ти строк
0
Заблокирован
25.07.2015, 14:30
Вы что PHP совсем не знаете?
0
0 / 0 / 0
Регистрация: 09.07.2015
Сообщений: 13
25.07.2015, 14:35  [ТС]
Цитата Сообщение от Июнь Посмотреть сообщение
Вы что PHP совсем не знаете?
Знаю но у меня не получается
вот код, который я написал:
PHP
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
function sevfiles($modul_servdir,$accepted_files) {
global $lang_files;
$file_ext = explode ( ",",$accepted_files );
$tdir = opendir ( $modul_servdir );
$content = "<option value=\"\"></option>";
while ( $file = readdir ( $tdir ) ) {
foreach ( $file_ext as $value ) {
if (preg_match ( "/^(.+)\.$value/",$file )) {
$content .= "<option value=\"$file\">".$file ."</option>";
}
}
}
closedir ( $tdir );
return $content;
}
0
Заблокирован
25.07.2015, 15:04
Это чтение всех объектов с именами, в которых присутствует ".$value", начиная со второго символа (если речь идет о расширениях, то их нужно искать с конца, а не с начала). Чтобы определить, является ли объект каталогом, используйте функцию is_dir, как я написала выше:
PHP
1
2
  while (($file=readdir($tdir))!==false)
    if($file[0]!='.'&&is_dir($file)) $content.='<option value="'.$file.'">'.$file.'</option>';
0
0 / 0 / 0
Регистрация: 09.07.2015
Сообщений: 13
25.07.2015, 16:01  [ТС]
Цитата Сообщение от Июнь Посмотреть сообщение
Это чтение всех объектов с именами, в которых присутствует ".$value", начиная со второго символа (если речь идет о расширениях, то их нужно искать с конца, а не с начала). Чтобы определить, является ли объект каталогом, используйте функцию is_dir, как я написала выше:
не работает и загрузка страницы стало очень медленно

Добавлено через 44 секунды
Цитата Сообщение от Azamatjon Посмотреть сообщение
Это чтение всех объектов с именами, в которых присутствует ".$value", начиная со второго символа (если речь идет о расширениях, то их нужно искать с конца, а не с начала). Чтобы определить, является ли объект каталогом, используйте функцию is_dir, как я написала выше:
вы можете поправить вышеуказанный мною код
Пожалуйста ...(((
0
Заблокирован
25.07.2015, 16:05
Цитата Сообщение от Azamatjon Посмотреть сообщение
не работает и загрузка страницы стало очень медленно
Какая загрузка? Вы про загрузку ничего не писали.
0
0 / 0 / 0
Регистрация: 09.07.2015
Сообщений: 13
25.07.2015, 16:20  [ТС]
Цитата Сообщение от Июнь Посмотреть сообщение
Какая загрузка? Вы про загрузку ничего не писали.
по моему я нито поставил код

Добавлено через 1 минуту
да когда я поставил код не написал closedir или.... ну ошибка

Добавлено через 34 секунды
вы можете подставить код на эту
PHP
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
function sevfiles($modul_servdir,$accepted_files) {
global $lang_files;
$file_ext = explode ( ",",$accepted_files );
$tdir = opendir ( $modul_servdir );
$content = "<option value=\"\"></option>";
while ( $file = readdir ( $tdir ) ) {
foreach ( $file_ext as $value ) {
if (preg_match ( "/^(.+)\.$value/",$file )) {
$content .= "<option value=\"$file\">".$file ."</option>";
}
}
}
closedir ( $tdir );
return $content;
}
Добавлено через 2 минуты
я имел ввиду просмотр страницы стало медленно
0
Заблокирован
25.07.2015, 16:34
Я-то могу, только я не пойму, почему вы не можете сделать такую простую вещь:
PHP
1
2
3
4
5
6
7
8
9
10
function sevfiles($modul_servdir,$accepted_files) {
global $lang_files;
$file_ext = explode ( ",",$accepted_files );
$tdir = opendir ( $modul_servdir );
$content = "<option value=\"\"></option>";
while (($file=readdir($tdir))!==false)
  if($file[0]!='.'&&is_dir($file)) $content.='<option value="'.$file.'">'.$file.'</option>';
closedir ( $tdir );
return $content;
}
0
0 / 0 / 0
Регистрация: 09.07.2015
Сообщений: 13
25.07.2015, 16:46  [ТС]
Цитата Сообщение от Июнь Посмотреть сообщение
Я-то могу, только я не пойму, почему вы не можете сделать такую простую вещь:
результата нет не работает
0
Заблокирован
25.07.2015, 17:13
А какая ошибка выдается?

Скорее всего текущий каталог отличен от того, имя которого передается в $modul_servdir. Нужно сделать переход в этот каталог или добавлять путь к $file при вызове is_dir.
0
0 / 0 / 0
Регистрация: 09.07.2015
Сообщений: 13
26.07.2015, 11:56  [ТС]
Цитата Сообщение от Июнь Посмотреть сообщение
А какая ошибка выдается?
Скорее всего текущий каталог отличен от того, имя которого передается в $modul_servdir. Нужно сделать переход в этот каталог или добавлять путь к $file при вызове is_dir.
САМ РАЗОБРАЛСЯ, немножко изменил код вот
PHP
1
2
3
4
5
6
7
8
9
10
function sevfiles($modul_servdir,$accepted_files) {
global $lang_files;
$file_ext = explode ( ",",$accepted_files );
$tdir = opendir ( $modul_servdir );
$content = "<option value=\"\"></option>";
while (($file=readdir($tdir))!=false)
  if($file[0]!='.'.is_dir($file)) $content.='<option value="'.$file.'">'.$file.'</option>';
closedir ( $tdir );
 return $content;
}
но вместе с папками выводятся и вот такие.... вот результат кода
HTML5
1
2
3
<select name="serv_url" style="width:315px;">
<option value=""></option><option value=".">.</option><option value="..">..</option><option value="wef">wef</option><option value="zip">zip</option>
         </select>
Что делать? в папке который передаётся с переменной $modul_servdir имеются 2 папки:
wef
zip
и файл:
.htacess



Что делать чтобы выводились только эти папки, но не
HTML5
1
<option value=".">.</option><option value="..">..</option>
Добавлено через 50 минут
Цитата Сообщение от Azamatjon Посмотреть сообщение
А какая ошибка выдается?
Скорее всего текущий каталог отличен от того, имя которого передается в $modul_servdir. Нужно сделать переход в этот каталог или добавлять путь к $file при вызове is_dir.
Например в данном случае переменная $modul_servdir = 'uploads/download/uploadfiles/'
а $accepted_files = 'zip, wef'
Переменная $accepted_files нужна чтобы фильтровать папки
если в папке $modul_servdir находится папки
rar, zip, wef, jar, apk, exe ......
то я должен выводить те папки которые разрешены с переменной $accepted_files (в данном случае $accepted_files = 'zip, wef')

думаю вы уже поняли в чём суть

Добавлено через 2 часа 57 минут
Всё сам разобрался

Добавлено через 48 секунд
Всё сам разобрался
0
Автор FAQ
 Аватар для insideone
3687 / 964 / 114
Регистрация: 10.01.2010
Сообщений: 2,550
27.07.2015, 21:24
Проще всего будет вызвать glob с флагом GLOB_ONLYDIR. Полученные результаты обработать через basename
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
inter-admin
Эксперт
29715 / 6470 / 2152
Регистрация: 06.03.2009
Сообщений: 28,500
Блог
27.07.2015, 21:24
Помогаю со студенческими работами здесь

Список файлов и папок в заданной директории
Всем здравствуйте. Скажите как получить дерево файлов и папок в заданной дериктории? И все это в двумерный массив засунуть из 3х столбцов,...

Получить список файлов и папок в директории
Вот такой вопрос возник, допустим я хочу написать что то типа файлового менеджера, как мне получить текущий список файлов и папок в...

Как получить список файлов и папок в директории
Как получить список файлов и папок в директории (именно в директории, без файлов подпапок)?

Список всех файлов и папок в директории с подпапками
Привет :) Допустим есть директория по пути: &quot;C:\MyDir&quot; В этой директории есть папки и файлы, в подпапках также есть файлы и папки и т.д...

Список всех файлов и папок указанной директории по заданной маске
Здравствуйте! Требуется написать программу, используя FileNameFilter которая выведет на экран список всех файлов и папок указанной...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
14
Ответ Создать тему
Новые блоги и статьи
Thinkpad X220 Tablet — это лучший бюджетный ноутбук для учёбы, точка.
Programma_Boinc 23.12.2025
Thinkpad X220 Tablet — это лучший бюджетный ноутбук для учёбы, точка. Рецензия / Мнение/ Перевод https:/ / **********/ gallery/ thinkpad-x220-tablet-porn-gzoEAjs . . .
PhpStorm 2025.3: WSL Terminal всегда стартует в ~
and_y87 14.12.2025
PhpStorm 2025. 3: WSL Terminal всегда стартует в ~ (home), игнорируя директорию проекта Симптом: После обновления до PhpStorm 2025. 3 встроенный терминал WSL открывается в домашней директории. . .
Как объединить две одинаковые БД Access с разными данными
VikBal 11.12.2025
Помогите пожалуйста !! Как объединить 2 одинаковые БД Access с разными данными.
Новый ноутбук
volvo 07.12.2025
Всем привет. По скидке в "черную пятницу" взял себе новый ноутбук Lenovo ThinkBook 16 G7 на Амазоне: Ryzen 5 7533HS 64 Gb DDR5 1Tb NVMe 16" Full HD Display Win11 Pro
Музыка, написанная Искусственным Интеллектом
volvo 04.12.2025
Всем привет. Некоторое время назад меня заинтересовало, что уже умеет ИИ в плане написания музыки для песен, и, собственно, исполнения этих самых песен. Стихов у нас много, уже вышли 4 книги, еще 3. . .
От async/await к виртуальным потокам в Python
IndentationError 23.11.2025
Армин Ронахер поставил под сомнение async/ await. Создатель Flask заявляет: цветные функции - провал, виртуальные потоки - решение. Не threading-динозавры, а новое поколение лёгких потоков. Откат?. . .
Поиск "дружественных имён" СОМ портов
Argus19 22.11.2025
Поиск "дружественных имён" СОМ портов На странице: https:/ / norseev. ru/ 2018/ 01/ 04/ comportlist_windows/ нашёл схожую тему. Там приведён код на С++, который показывает только имена СОМ портов, типа,. . .
Сколько Государство потратило денег на меня, обеспечивая инсулином.
Programma_Boinc 20.11.2025
Сколько Государство потратило денег на меня, обеспечивая инсулином. Вот решила сделать интересный приблизительный подсчет, сколько государство потратило на меня денег на покупку инсулинов. . . .
Ломающие изменения в C#.NStar Alpha
Etyuhibosecyu 20.11.2025
Уже можно не только тестировать, но и пользоваться C#. NStar - писать оконные приложения, содержащие надписи, кнопки, текстовые поля и даже изображения, например, моя игра "Три в ряд" написана на этом. . .
Мысли в слух
kumehtar 18.11.2025
Кстати, совсем недавно имел разговор на тему медитаций с людьми. И обнаружил, что они вообще не понимают что такое медитация и зачем она нужна. Самые базовые вещи. Для них это - когда просто люди. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2025, CyberForum.ru