Функция glob
Функцията glob търси файлове и директории, съответстващи на зададения шаблон.
В първия параметър се подава низ с шаблона за търсене.
Вторият незадължителен параметър задава флагове за промяна на поведението на функцията.
Синтаксис
glob(pattern, [flags]);
Флагове
| Флаг | Описание |
|---|---|
GLOB_MARK |
Добавя наклонена черта / към всяка върната директория. |
GLOB_NOSORT |
Връща файловете в реда, в който се намират в директорията (без сортиране). |
GLOB_NOCHECK |
Връща шаблона за търсене, ако не е намерено нито едно съвпадение. |
GLOB_NOESCAPE |
Обратните наклонени черти не екранират метасимволите. |
GLOB_BRACE |
Разгъва {a,b,c} за търсене по няколко шаблона. |
GLOB_ONLYDIR |
Връща само директории, съответстващи на шаблона. |
GLOB_ERR |
Спиране при грешки при четене (например, липса на права за достъп). |
Пример
Нека намерим всички файлове с разширение .txt в текущата директория:
<?php
$res = glob('*.txt');
print_r($res);
?>
Резултат от изпълнението на кода:
['file1.txt', 'file2.txt', 'notes.txt']
Пример
Нека намерим всички файлове, започващи с 'test' с всякакво разширение:
<?php
$res = glob('test*');
print_r($res);
?>
Резултат от изпълнението на кода:
['test.php', 'test.txt', 'test_image.jpg']
Пример
Използване на флаг GLOB_BRACE за търсене по няколко шаблона:
<?php
$res = glob('*.{php,txt}', GLOB_BRACE);
print_r($res);
?>
Резултат от изпълнението на кода:
['index.php', 'config.php', 'readme.txt']
Пример
Търсене на файлове в поддиректории с използване на флаг GLOB_RECURSE:
<?php
$res = glob('**/*.php', GLOB_BRACE|GLOB_RECURSE);
print_r($res);
?>
Резултат от изпълнението на кода:
['index.php', 'lib/utils.php', 'admin/index.php']
Вижте също
-
функцията
scandir,
която чете съдържанието на директория -
функцията
file_exists,
която проверява съществуването на файл -
функцията
is_file,
която проверява файл