Вместо перечисления всех файлов и каталоговPHP: Использование glob() для отображения * .txt и каталогов?
foreach(glob("/*") as $file) {
...
}
Есть ли способ для фильтрации * .txt файлов и каталогов? Потому что в этом примере
foreach(glob("/*.txt") as $file) {
...
}
Будет получать только файлы * .txt, но не каталоги. Но для того, чтобы перечислять только каталоги, это будет работать:
foreach(glob("/*", GLOB_ONLYDIR) as $file) {
...
}
но не будут содержать * .txt файлы. Я стараюсь избегать использования preg_match() или аналогичных операций после чтения каталога, потому что он будет тратить ресурсы сервера, если есть около 5000 ненужных файлов (файлы изображений с * .jpg, * .png).
спасибо.
Почему бы не вызвать 'glob()' дважды и объединить результирующие массивы перед разбором? – Crontab
Да, это может быть вариант. Но интересно, возможно ли это за один раз. Благодаря! – user702300
@ user702300 Как бы вы сделали разницу между файлом с именем 'foo' и каталогом с именем' foo'. Я думаю, вам нужно использовать две функции: одну для получения всех каталогов, а другую - для получения определенных файлов. – HamZa