Функцыя 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
,
якая правярае файл