glob
(PHP 4 >= 4.3.0, PHP 5, PHP 7)
glob — Находит файловые пути, совпадающие с шаблоном
Описание
$pattern
, int $flags = 0
) : array|false
Функция glob() ищет все пути, совпадающие с
шаблоном pattern согласно правилам,
используемым в функции glob() библиотеки libc, которые похожи на
правила, используемые большинством распространённых оболочек.
Список параметров
-
pattern -
Шаблон. Не происходит раскрытие тильды и подстановка параметров.
Специальные символы:
-
*- Соответствует нулю или большему количеству символов. -
?- Соответствует ровно одному символу (любому символу). -
[...]- Соответствует одному символу из группы. Если первый символ!, то соответствует любому символу, не входящему в группу -
\- Экранирует следующий символ, кроме случаев, когда используется флагGLOB_NOESCAPE.
-
-
flags -
Допустимые флаги:
-
GLOB_MARK- Добавляет слеш (обратный слеш в Windows) к каждой возвращаемой директории. -
GLOB_NOSORT- Возвращает файлы в том виде, в котором они содержатся в директории (без сортировки). Если этот флаг не указан, то имена сортируются по алфавиту. -
GLOB_NOCHECK- Возвращает шаблон поиска, если с его помощью не был найден ни один файл. -
GLOB_NOESCAPE- Обратные слеши не экранируют метасимволы. -
GLOB_BRACE- Раскрывает {a,b,c} для совпадения с 'a', 'b' или 'c'. -
GLOB_ONLYDIR- Возвращает только директории, совпадающие с шаблоном. -
GLOB_ERR- Останавливается при ошибках чтения (например, директории без права чтения), по умолчанию ошибки игнорируются.
Замечание: Флаг
GLOB_BRACEнедоступен на некоторых не GNU-системах, например, Solaris. -
Возвращаемые значения
Возвращает массив, который содержит совпадающие файлы/директории,
пустой массив в случае отсутствия совпадения или false в
случае ошибки.
Замечание:
На некоторых системах невозможно отличить отсутствие совпадения и ошибку.
Примеры
Пример #1 Удобный способ, как при помощи glob() можно заменить opendir() и её аналоги.
<?php
foreach (glob("*.txt") as $filename) {
echo "$filename размер " . filesize($filename) . "\n";
}
?>
Результатом выполнения данного примера будет что-то подобное:
funclist.txt размер 44686 funcsummary.txt размер 267625 quickref.txt размер 137820
Примечания
Замечание: Эта функция неприменима для работы с удаленными файлами, поскольку файл должен быть доступен через файловую систему сервера.
Замечание: Функция недоступна на некоторых системах (например, старой Sun OS).
Смотрите также
- opendir() - Открывает дескриптор каталога
- readdir() - Получает элемент каталога по его дескриптору
- closedir() - Закрывает дескриптор каталога
- fnmatch() - Проверяет совпадение имени файла с шаблоном