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() стандартной 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.