glob

funkcja

Wyszukuje pliki i katalogi pasujące do wzorca powłoki (np. *.txt). Zwraca tablicę dopasowań lub false przy błędzie.

glob(string $pattern, int $flags = 0): array|false

glob przeszukuje system plików i zwraca tablicę ścieżek pasujących do podanego wzorca w stylu powłoki Unix. Wzorzec może zawierać znaki specjalne: * (dowolny ciąg znaków), ? (jeden dowolny znak) oraz [...] (zakres znaków). Gdy żaden plik nie pasuje, zwraca pustą tablicę []; zwraca false wyłącznie przy błędzie systemowym. Przydatne flagi to m.in. GLOB_ONLYDIR (tylko katalogi) czy GLOB_BRACE (wzorce z alternatywami, np. {*.jpg,*.png}).

Bezpieczeństwo: nie przekazuj niezaufanych danych użytkownika jako wzorca — może to ujawnić strukturę katalogów lub umożliwić atak path-traversal.

<?php
declare(strict_types=1);

// Znajdź wszystkie pliki .php w bieżącym katalogu
$pliki = glob(__DIR__ . '/*.php');

if ($pliki === false) {
    echo 'Błąd podczas przeszukiwania katalogu.';
} else {
    foreach ($pliki as $sciezka) {
        echo basename($sciezka) . PHP_EOL;
    }
}