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

phpglob(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<?php
  $res = glob('*.txt');
  print_r($res);
?>

Wynik wykonania kodu:

php['file1.txt', 'file2.txt', 'notes.txt']

Przykład

Znajdźmy wszystkie pliki zaczynające się na 'test' z dowolnym rozszerzeniem:

php<?php
  $res = glob('test*');
  print_r($res);
?>

Wynik wykonania kodu:

php['test.php', 'test.txt', 'test_image.jpg']

Przykład

Użycie flagi GLOB_BRACE do wyszukiwania według wielu wzorców:

php<?php
  $res = glob('*.{php,txt}', GLOB_BRACE);
  print_r($res);
?>

Wynik wykonania kodu:

php['index.php', 'config.php', 'readme.txt']

Przykład

Wyszukiwanie plików w podkatalogach z użyciem flagi GLOB_RECURSE:

php<?php
  $res = glob('**/*.php', GLOB_BRACE|GLOB_RECURSE);
  print_r($res);
?>

Wynik wykonania kodu:

php['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