Facebook
Twitter
Google+
Kommentare
0

Funktion der Woche: glob()

glob()

Wenn man mit dem Filesystem arbeitet, muss man sich “glob” unbedingt anschauen. ”glob” findet Dateipfade die mit dem angegebenen Muster (pattern) übereinstimmen, und gibt das Resultat als Array zurück.

Wofür könnte ich diese Funktion gebrauchen?

Man könnte zum Beispiel alle Textdateien in einem Verzeichnis suchen (pattern: *.txt). Oder andere Dateien ;-)

Auch für eine rekursive Funktion, die auch alle Unterordner durchsucht kann man “glob()” gebrauchen.

Und für ein paar tausend andere Dinge, die ihr euch selbst überlegen könnt…

Beispiel

Angenommen ich habe einen Ordner “files”, in dem folgende Dateien liegen:

Jetzt möchte ich irgendwas mit allen Text-Dateien machen. Dank “glob()” sehr einfach:

$pattern = "files/*.txt";

foreach(glob($pattern) as $filename){
	echo $filename."<br/>";
}

Die Ausgabe wäre:

files/Kopie von nr1.txt
files/nr1.txt
files/nr2.txt

Im Pattern kann ich auch ein Fragezeichen verwenden. Dies symbolisiert ein unbekanntes Zeichen:

$pattern = "files/nr?.txt";

foreach(glob($pattern) as $filename){
	echo $filename."<br/>";
}

Hier wäre die Ausgabe:

files/nr1.txt
files/nr2.txt

Mit dem Pattern “files/[in]*” wäre die Ausgabe folgendermassen:

files/index.php
files/nr1.txt
files/nr2.txt

Sonstiges

Man sollte auch den optionalen zweiten Parameter (das Flag) in der Doku beachten. Damit kann man zum Beispiel nur nach Ordnern suchen, oder jedem gefundenen Pfad ein Slash hinzufügen.

Weiterführende Links

Über den Autor

DeDu

Link erfolgreich vorgeschlagen.

Vielen Dank, dass du einen Link vorgeschlagen hast. Wir werden ihn sobald wie möglich prüfen. Schließen