glob

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

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

Описание

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

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