Funkcia glob
Funkcia glob vyhľadáva súbory a adresáre, ktoré zodpovedajú zadanému vzoru.
Do prvého parametra sa odovzdáva reťazec s vyhľadávacím vzorom.
Druhý voliteľný parameter nastavuje príznaky na zmenu správania funkcie.
Syntax
glob(pattern, [flags]);
Príznaky
| Príznak | Popis |
|---|---|
GLOB_MARK |
Pridáva lomku / ku každému vrátenému adresáru. |
GLOB_NOSORT |
Vracia súbory v poradí, v akom sa nachádzajú v adresári (bez triedenia). |
GLOB_NOCHECK |
Vracia vyhľadávací vzor, ak nebol nájdený žiadny zhodný súbor. |
GLOB_NOESCAPE |
Spätné lomky neescapujú metasymboly. |
GLOB_BRACE |
Rozbalí {a,b,c} pre vyhľadávanie podľa viacerých vzorov. |
GLOB_ONLYDIR |
Vracia len adresáre, ktoré zodpovedajú vzoru. |
GLOB_ERR |
Zastaviť pri chybách čítania (napríklad, žiadne práva na prístup). |
Príklad
Nájdeme všetky súbory s príponou .txt v aktuálnom adresári:
<?php
$res = glob('*.txt');
print_r($res);
?>
Výsledok vykonania kódu:
['file1.txt', 'file2.txt', 'notes.txt']
Príklad
Nájdeme všetky súbory, ktoré začínajú na 'test' s ľubovoľnou príponou:
<?php
$res = glob('test*');
print_r($res);
?>
Výsledok vykonania kódu:
['test.php', 'test.txt', 'test_image.jpg']
Príklad
Použitie príznaku GLOB_BRACE na vyhľadávanie podľa viacerých vzorov:
<?php
$res = glob('*.{php,txt}', GLOB_BRACE);
print_r($res);
?>
Výsledok vykonania kódu:
['index.php', 'config.php', 'readme.txt']
Príklad
Vyhľadávanie súborov v podadresároch s použitím príznaku GLOB_RECURSE:
<?php
$res = glob('**/*.php', GLOB_BRACE|GLOB_RECURSE);
print_r($res);
?>
Výsledok vykonania kódu:
['index.php', 'lib/utils.php', 'admin/index.php']
Pozri tiež
-
funkciu
scandir,
ktorá číta obsah adresára -
funkciu
file_exists,
ktorá kontroluje existenciu súboru -
funkciu
is_file,
ktorá kontroluje súbor