glob

(PHP 4 >= 4.3.0, PHP 5, PHP 7, PHP 8)

globНаходит файловые пути, совпадающие с шаблоном

Описание

glob(string $pattern, int $flags = 0): array|false

Функция glob() ищет совпавшие с шаблоном pattern пути по правилам функции glob() модуля libc, похожим на правила распространённых командных оболочек.

Список параметров

pattern

Шаблон. Не происходит раскрытие тильды и подстановка параметров.

Специальные символы:

  • * — Соответствует нулю или большему количеству символов.
  • ? — Соответствует ровно одному символу (любому символу).
  • [...] — Соответствует одному символу из группы. Если первый символ !, то соответствует любому символу, не входящему в группу
  • \ — Экранирует следующий символ, кроме случаев, когда указан флаг GLOB_NOESCAPE.

flags

Допустимые флаги:

GLOB_BRACE (int)
Разворачивает шаблон {a,b,c} так, чтобы он соответствовал «a», «b» или «c»

Замечание: Флаг GLOB_BRACE недоступен в ряде систем, которые отличаются от GNU, например Solaris или Alpine Linux

GLOB_ERR (int)
Остановиться при ошибках чтения (например, при нечитаемых каталогах), по умолчанию ошибки игнорируются
GLOB_ONLYDIR (int)
Возвращать только те записи директории, которые соответствуют шаблону
GLOB_MARK (int)
Добавлять слеш (обратный слеш в операционных системах Windows) к каждой возвращаемой директории
GLOB_NOSORT (int)
Возвращать файлы в том виде, в каком они отображаются в директории (без сортировки). Если флаг не установлен, пути сортируются в алфавитном порядке
GLOB_NOCHECK (int)
Вернуть шаблон поиска, если соответствующие ему файлы не найдены
GLOB_NOESCAPE (int)
Обратные слеши не заключают метасимволы в кавычки
GLOB_AVAILABLE_FLAGS (int)
Флаги семейства GLOB_* вместе взятые. Эквивалентно записи 0 | GLOB_BRACE | GLOB_MARK | GLOB_NOSORT | GLOB_NOCHECK | GLOB_NOESCAPE | GLOB_ERR | GLOB_ONLYDIR

Возвращаемые значения

Функция возвращает массив с совпавшими путями файлов и директорий, пустой массив, если файл не найден, или 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() - Проверяет совпадение имени файла с шаблоном