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_*.

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

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

Добавить

Примечания пользователей 1 note

up
5
Anonymous
3 years ago
Include dotfiles excluding . and .. special dirs with .[!.]*

<?php
$all_files
= array_merge(glob('.[!.]*'), glob('*'));
// or
$all_files = glob('{.[!.],}*', GLOB_BRACE);
?>
To Top