Funkcja glob
Funkcja glob wyszukuje pliki i katalogi pasujące do podanego wzorca.
W pierwszym parametrze przekazywany jest ciąg znaków ze wzorcem wyszukiwania.
Drugi, opcjonalny parametr, ustawia flagi zmieniające zachowanie funkcji.
Składnia
glob(pattern, [flags]);
Flagi
| Flaga | Opis |
|---|---|
GLOB_MARK |
Dodaje ukośnik / do każdego zwróconego katalogu. |
GLOB_NOSORT |
Zwraca pliki w kolejności, w jakiej znajdują się w katalogu (bez sortowania). |
GLOB_NOCHECK |
Zwraca wzorzec wyszukiwania, jeśli nie znaleziono żadnych dopasowań. |
GLOB_NOESCAPE |
Ukośniki wsteczne nie escapują znaków specjalnych. |
GLOB_BRACE |
Rozwija {a,b,c} do wyszukiwania według wielu wzorców. |
GLOB_ONLYDIR |
Zwraca tylko katalogi pasujące do wzorca. |
GLOB_ERR |
Zatrzymuje przy błędach odczytu (na przykład, brak uprawnień). |
Przykład
Znajdźmy wszystkie pliki z rozszerzeniem .txt w bieżącym katalogu:
<?php
$res = glob('*.txt');
print_r($res);
?>
Wynik wykonania kodu:
['file1.txt', 'file2.txt', 'notes.txt']
Przykład
Znajdźmy wszystkie pliki zaczynające się na 'test' z dowolnym rozszerzeniem:
<?php
$res = glob('test*');
print_r($res);
?>
Wynik wykonania kodu:
['test.php', 'test.txt', 'test_image.jpg']
Przykład
Użycie flagi GLOB_BRACE do wyszukiwania według wielu wzorców:
<?php
$res = glob('*.{php,txt}', GLOB_BRACE);
print_r($res);
?>
Wynik wykonania kodu:
['index.php', 'config.php', 'readme.txt']
Przykład
Wyszukiwanie plików w podkatalogach z użyciem flagi GLOB_RECURSE:
<?php
$res = glob('**/*.php', GLOB_BRACE|GLOB_RECURSE);
print_r($res);
?>
Wynik wykonania kodu:
['index.php', 'lib/utils.php', 'admin/index.php']
Zobacz też
-
funkcję
scandir,
która odczytuje zawartość katalogu -
funkcję
file_exists,
która sprawdza istnienie pliku -
funkcję
is_file,
która sprawdza plik