Поиск файлов по маске в PHP
![Поиск файлов по маске в PHP](/images/articles/php-find-file-by-mask.jpg)
Представим, что нам необходимо найти все файлы, которые имеют окончание .php в заданной папке и подпапках. Как это можно сделать в PHP? Далее представлен один из примеров реализации.
Код:
// поиск файлов по маске
// $pattern - маска
function search_file_by($pattern, $flags = 0) {
// поиск по маске в папке
$files = glob($pattern, $flags);
foreach (glob(dirname($pattern).'/*', GLOB_ONLYDIR | GLOB_NOSORT) as $dir)
// поиск в подпапках
$files = array_merge($files, search_file_by($dir .'/'. basename($pattern), $flags));
}
return $files;
}
Как использовать?
// найдет все php файлы в папках и подпаках
$php_files = search_file_by("*.php");
print_r($files);
// все текстовые файлы
$txt_files = search_file_by(".txt");
print_r($files);
Вот так просто с помошью рекрусии можно найти все файлы в иерархии каталогов по маске в PHP.
-
-
Михаил Русаков
Комментарии (0):
Для добавления комментариев надо войти в систему.
Если Вы ещё не зарегистрированы на сайте, то сначала зарегистрируйтесь.