glob

(PHP 4 >= 4.3.0, PHP 5, PHP 7)

globFindet Dateinamen, die mit einem Muster übereinstimmen

Beschreibung

glob ( string $pattern [, int $flags = 0 ] ) : array

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-Ersetzung findet nicht statt.

Sonderzeichen:

  • * - kein oder mehrere Zeichen.
  • ? - genau ein Zeichen (irgendein Zeichen).
  • [...] - ein Zeichen einer Gruppe von Zeichen. Ist erste Zeichen ein !, dann jedes Zeichen, das nicht in der Gruppe enthalten ist.
  • ... - alle Unterverzeichnisse, rekursiv.
  • \ - maskiert das folgende Zeichen, es sei denn, das GLOB_NOESCAPE Flag wurde verwendet.

flags

Mögliche Flags:

  • GLOB_MARK - Fügt jedem zurückgegebenen Verzeichnis einen Slash 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 - Backslashes maskieren keine Metazeichen
  • 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-lesbaren Verzeichnis), standardmäßig werden Fehler ignoriert

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.

Changelog

Version Beschreibung
5.1.0 GLOB_ERR wurde hinzugefügt

Beispiele

Beispiel #1 Einfacher Ersatz von opendir() etc.

<?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. nicht auf alten Sun-OS-Versionen).

Hinweis: Das GLOB_BRACE-Flag ist auf einigen nicht-GNU-Systemen (wie Solaris) nicht verfügbar.

Siehe auch

  • opendir() - Öffnen eines Verzeichnis-Handles
  • readdir() - Liest einen Eintrag aus einem Verzeichnis-Handle
  • closedir() - Schließen eines Verzeichnis-Handles
  • fnmatch() - Match filename against a pattern