Функция glob
Функция glob ищет файлы и директории, соответствующие заданному шаблону.
В первый параметр передается строка с шаблоном поиска.
Второй необязательный параметр задает флаги для изменения поведения функции.
Синтаксис
glob(pattern, [flags]);
Флаги
| Флаг | Описание |
|---|---|
GLOB_MARK |
Добавляет слеш / к каждому возвращаемому каталогу. |
GLOB_NOSORT |
Возвращает файлы в том порядке, в котором они находятся в директории (без сортировки). |
GLOB_NOCHECK |
Возвращает шаблон поиска, если не найдено ни одного совпадения. |
GLOB_NOESCAPE |
Обратные слеши не экранируют метасимволы. |
GLOB_BRACE |
Раскрывает {a,b,c} для поиска по нескольким шаблонам. |
GLOB_ONLYDIR |
Возвращает только директории, соответствующие шаблону. |
GLOB_ERR |
Останавливать при ошибках чтения (например, нет прав доступа). |
Пример
Найдем все файлы с расширением .txt в текущей директории:
<?php
$res = glob('*.txt');
print_r($res);
?>
Результат выполнения кода:
['file1.txt', 'file2.txt', 'notes.txt']
Пример
Найдем все файлы, начинающиеся на 'test' с любым расширением:
<?php
$res = glob('test*');
print_r($res);
?>
Результат выполнения кода:
['test.php', 'test.txt', 'test_image.jpg']
Пример
Использование флага GLOB_BRACE для поиска по нескольким шаблонам:
<?php
$res = glob('*.{php,txt}', GLOB_BRACE);
print_r($res);
?>
Результат выполнения кода:
['index.php', 'config.php', 'readme.txt']
Пример
Поиск файлов в поддиректориях с использованием флага GLOB_RECURSE:
<?php
$res = glob('**/*.php', GLOB_BRACE|GLOB_RECURSE);
print_r($res);
?>
Результат выполнения кода:
['index.php', 'lib/utils.php', 'admin/index.php']
Смотрите также
-
функцию
scandir,
которая читает содержимое директории -
функцию
file_exists,
которая проверяет существование файла -
функцию
is_file,
которая проверяет файл