Funkce glob
Funkce glob vyhledává soubory a adresáře odpovídající zadanému vzoru.
Do prvního parametru se předává řetězec s vyhledávacím vzorem.
Druhý volitelný parametr nastavuje příznaky pro změnu chování funkce.
Syntaxe
glob(pattern, [flags]);
Příznaky
| Příznak | Popis |
|---|---|
GLOB_MARK |
Přidá lomítko / ke každé vrácené složce. |
GLOB_NOSORT |
Vrací soubory v pořadí, v jakém se nacházejí v adresáři (bez řazení). |
GLOB_NOCHECK |
Vrátí vyhledávací vzor, pokud nebyl nalezen žádná shoda. |
GLOB_NOESCAPE |
Zpětná lomítka neescapují metasymboly. |
GLOB_BRACE |
Rozvíjí {a,b,c} pro vyhledávání podle více vzorů. |
GLOB_ONLYDIR |
Vrací pouze adresáře odpovídající vzoru. |
GLOB_ERR |
Zastavit při chybách čtení (například nedostatečná práva). |
Příklad
Najdeme všechny soubory s příponou .txt v aktuálním adresáři:
<?php
$res = glob('*.txt');
print_r($res);
?>
Výsledek provedení kódu:
['file1.txt', 'file2.txt', 'notes.txt']
Příklad
Najdeme všechny soubory začínající na 'test' s libovolnou příponou:
<?php
$res = glob('test*');
print_r($res);
?>
Výsledek provedení kódu:
['test.php', 'test.txt', 'test_image.jpg']
Příklad
Použití příznaku GLOB_BRACE pro vyhledávání podle více vzorů:
<?php
$res = glob('*.{php,txt}', GLOB_BRACE);
print_r($res);
?>
Výsledek provedení kódu:
['index.php', 'config.php', 'readme.txt']
Příklad
Vyhledávání souborů v podadresářích s použitím příznaku GLOB_RECURSE:
<?php
$res = glob('**/*.php', GLOB_BRACE|GLOB_RECURSE);
print_r($res);
?>
Výsledek provedení kódu:
['index.php', 'lib/utils.php', 'admin/index.php']
Viz také
-
funkci
scandir,
která čte obsah adresáře -
funkci
file_exists,
která ověřuje existenci souboru -
funkci
is_file,
která ověřuje soubor