glob

(PHP 4 >= 4.3.0, PHP 5)

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

Описание

array glob ( string $pattern [, int $flags = 0 ] )

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

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

pattern

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

flags

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

  • GLOB_MARK - Добавляет слэш к каждой возвращаемой директории.
  • GLOB_NOSORT - Возвращает файлы в том виде, в котором они содержатся в директории (без сортировки)
  • GLOB_NOCHECK - Возвращает шаблон поиска, если с его помощью не был найден ни один файл.
  • GLOB_NOESCAPE - Обратные слэши не экранируют метасимволы.
  • GLOB_BRACE - Раскрывает {a,b,c} для совпадения с 'a', 'b' или 'c'.
  • GLOB_ONLYDIR - Возвращает только директории, совпадающие с шаблоном.
  • GLOB_ERR - Останавливается при ошибках чтения (например, директории без права чтения), по умолчанию ошибки игнорируются.

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

Возвращает массив, который содержит совпадающие файлы/директории, пустой массив в случае отсутствия совпадения или FALSE в случае ошибки.

Замечание:

На некоторых системах невозможно отличить отсутствие совпадения и ошибку.

Список изменений

Версия Описание
5.1.0 Добавлена константа GLOB_ERR
4.3.3 Константа GLOB_ONLYDIR стала доступна на Windows и других системах, не использующих библиотеку GNU C

Примеры

Пример #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).

Замечание: Флаг GLOB_BRACE недоступен на некоторых не GNU-системах, например, Solaris.

Смотрите также

  • opendir() - Открывает дескриптор каталога
  • readdir() - Получает элемент каталога по его дескриптору
  • closedir() - Освобождает дескриптор каталога
  • fnmatch() - Проверяет совпадение имени файла с шаблоном

Коментарии

Автор:
Include dotfiles excluding . and .. special dirs with .[!.]*

<?php
$all_files 
array_merge(glob('.[!.]*'), glob('*'));
// or
$all_files glob('{.[!.],}*'GLOB_BRACE);
?>
2021-01-25 14:25:29
http://php5.kiev.ua/manual/ru/function.glob.html

    Поддержать сайт на родительском проекте КГБ