glob
(PHP 4 >= 4.3.0, PHP 5, PHP 7, PHP 8)
glob — Findet Dateinamen, die mit einem Muster übereinstimmen
Beschreibung
$pattern, int $flags = 0): array|false
glob() findet Dateipfade, die mit dem angegebenen
Muster pattern übereinstimmen. Die Übereinstimmung
wird nach den gleichen Regeln geprüft, wie in der glob()-Funktion der
C-Bibliothek und entspricht weitgehend den Regeln in den üblichen
Kommandozeilen-Shells.
Parameter-Liste
-
pattern -
Das Suchmuster. Parameter- und Tilde-Ersetzungen finden nicht statt.
Sonderzeichen:
-
*- Kein oder mehr Zeichen. -
?- Genau ein (beliebiges) Zeichen. -
[...]- Ein Zeichen einer Gruppe von Zeichen. Ist erste das Zeichen ein!, dann jedes Zeichen, das nicht in der Gruppe enthalten ist. -
\- Maskiert das folgende Zeichen, es sei denn, das FlagGLOB_NOESCAPEwurde verwendet.
-
-
flags -
Mögliche Flags:
-
GLOB_MARK- Fügt jedem zurückgegebenen Verzeichnis einen Schrägstrich (einen Rückwärtsschrägstrich unter Windows) hinzu -
GLOB_NOSORT- Gibt Dateinamen unsortiert in der Reihenfolge ihrer Verzeichniseinträge zurück. Wenn dieses Flag nicht verwendet wird, werden die Pfadnamen alphabetisch sortiert -
GLOB_NOCHECK- Gibt das Suchmuster zurück, wenn keine übereinstimmende Dateinamen gefunden wurden -
GLOB_NOESCAPE- Metazeichen werden nicht durch Backslashes maskiert -
GLOB_BRACE- {a,b,c} prüft auf 'a', 'b', oder 'c' -
GLOB_ONLYDIR- Gibt nur übereinstimmende Verzeichnisnamen zurück -
GLOB_ERR- Anhalten bei Lesefehlern (wie nicht-lesbare Verzeichnisse), standardmäßig werden Fehler ignoriert
Hinweis: Das Flag
GLOB_BRACEist auf einigen nicht-GNU-Systemen wie Solaris oder Alpine Linux nicht verfügbar. -
Rückgabewerte
Gibt ein Array mit den übereinstimmenden Datei- und Verzeichnisnamen zurück.
Wenn keine Treffer gefunden wurden, wird ein leeres Array zurückgegeben,
und im Fehlerfall false.
Hinweis:
Auf manchen Systemen ist es nicht möglich, zwischen einer leeren Ergebnismenge und einem aufgetretenen Fehler zu unterscheiden.
Beispiele
Beispiel #1 Einfacher Ersatz von opendir() etc. durch glob()
<?php
foreach (glob("*.txt") as $filename) {
echo "$filename - Größe: " . filesize($filename) . "\n";
}
?>
Das oben gezeigte Beispiel erzeugt eine ähnliche Ausgabe wie:
funclist.txt - Größe: 44686 funcsummary.txt - Größe: 267625 quickref.txt - Größe: 137820
Anmerkungen
Hinweis: Diese Funktion kann nicht mit entfernten Dateien arbeiten, da der Zugriff auf die Datei, die bearbeitet werden soll, über das Dateisystem des Servers möglich sein muss.
Hinweis: Diese Funktion ist nicht auf allen Systemen verfügbar (z. B. alten Sun-OS-Versionen).
Siehe auch
- opendir() - Öffnet ein Verzeichnis-Handle
- readdir() - Liest einen Eintrag aus einem Verzeichnis-Handle
- closedir() - Schließt ein Verzeichnis-Handle
- fnmatch() - Match filename against a pattern

