Funktion glob
Die Funktion glob sucht Dateien und Verzeichnisse, die dem gegebenen Muster entsprechen.
An den ersten Parameter wird eine Zeichenkette mit dem Suchmuster übergeben.
Der zweite optionale Parameter setzt Flags, um das Verhalten der Funktion zu ändern.
Syntax
glob(pattern, [flags]);
Flags
| Flag | Beschreibung |
|---|---|
GLOB_MARK |
Fügt jedem zurückgegebenen Verzeichnis einen Schrägstrich / hinzu. |
GLOB_NOSORT |
Gibt Dateien in der Reihenfolge zurück, in der sie sich im Verzeichnis befinden (ohne Sortierung). |
GLOB_NOCHECK |
Gibt das Suchmuster zurück, wenn keine Übereinstimmungen gefunden wurden. |
GLOB_NOESCAPE |
Backslashes maskieren Metazeichen nicht. |
GLOB_BRACE |
Erweitert {a,b,c} für die Suche nach mehreren Mustern. |
GLOB_ONLYDIR |
Gibt nur Verzeichnisse zurück, die dem Muster entsprechen. |
GLOB_ERR |
Bei Lesefehlern anhalten (z.B. keine Zugriffsrechte). |
Beispiel
Finden wir alle Dateien mit der Erweiterung .txt im aktuellen Verzeichnis:
<?php
$res = glob('*.txt');
print_r($res);
?>
Ergebnis der Codeausführung:
['file1.txt', 'file2.txt', 'notes.txt']
Beispiel
Finden wir alle Dateien, die mit 'test' beginnen und eine beliebige Erweiterung haben:
<?php
$res = glob('test*');
print_r($res);
?>
Ergebnis der Codeausführung:
['test.php', 'test.txt', 'test_image.jpg']
Beispiel
Verwendung des Flags GLOB_BRACE für die Suche nach mehreren Mustern:
<?php
$res = glob('*.{php,txt}', GLOB_BRACE);
print_r($res);
?>
Ergebnis der Codeausführung:
['index.php', 'config.php', 'readme.txt']
Beispiel
Suche nach Dateien in Unterverzeichnissen mit Verwendung des Flags GLOB_RECURSE:
<?php
$res = glob('**/*.php', GLOB_BRACE|GLOB_RECURSE);
print_r($res);
?>
Ergebnis der Codeausführung:
['index.php', 'lib/utils.php', 'admin/index.php']
Siehe auch
-
die Funktion
scandir,
die den Inhalt eines Verzeichnisses liest -
die Funktion
file_exists,
die die Existenz einer Datei prüft -
die Funktion
is_file,
die eine Datei prüft