Include dotfiles excluding . and .. special dirs with .[!.]*
<?php
$all_files = array_merge(glob('.[!.]*'), glob('*'));
// or
$all_files = glob('{.[!.],}*', GLOB_BRACE);
?>
(PHP 4 >= 4.3.0, PHP 5, PHP 7, PHP 8)
glob — Находит файловые пути, совпадающие с шаблоном
Функция glob() ищет совпавшие
с шаблоном pattern
пути по правилам
функции glob() модуля libc, похожим на
правила распространённых командных оболочек.
pattern
Шаблон. Не происходит раскрытие тильды и подстановка параметров.
Специальные символы:
*
— Соответствует нулю или большему количеству символов.
?
— Соответствует ровно одному символу (любому символу).
[...]
— Соответствует одному символу из группы. Если первый символ !
,
то соответствует любому символу, не входящему в группу
\
— Экранирует следующий символ,
кроме случаев, когда указан флаг GLOB_NOESCAPE
.
flags
Допустимые флаги:
GLOB_BRACE
(int)
Замечание: Флаг
GLOB_BRACE
недоступен в ряде систем, которые отличаются от GNU, например Solaris или Alpine Linux.
GLOB_ERR
(int)
GLOB_ONLYDIR
(int)
GLOB_MARK
(int)
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).