2010-04-01 2 views
9

Ich muss eine Datei in PHP lesen, aber ich kenne nur das Ende des Dateinamens, also muss ich die Datei in einem bestimmten Verzeichnis mit Wildcards: * filename.wav und dann zurück zum Browser. Gibt es eine Funktion, das zu tun? oder muss ich alle Dateien im Verzeichnis suchen und dann eins nach dem anderen suchen?PHP: Wie suche ich eine Datei mit Platzhaltern

Danke für alle Kommentare und Hilfe.

Antwort

21

Werfen Sie einen Blick auf die glob() Funktion

Zum Beispiel, wenn Sie jede Datei passende *abc.xyz im Unterverzeichnis dir

$matches = glob('./dir/*abc.xyz'); 

Beachten Sie, dass glob nicht rekursiv ist und wird nur Suche nach einem einzigen bekommen wollte Verzeichnis und nicht alle Unterverzeichnisse.

4

Neben Yacoby's answer möchte ich hinzufügen, dass eine neue GlobIterator Klasse PHP> = 5.3 hinzugefügt wurde.

Es ist eine Platzhalter verwenden können, die gleiche Art und Weise wie glob() nicht - aber in zusätzlichen:

  • Tt die Iterator Schnittstelle implementiert
  • Sie können es Instanz der Rückkehr haben Arbeit SplFileInfo Klasse


So viele nützliche Dinge in der SPL (Standard PHP Library), und niemand dachte jemals an sie ... Ich konnte nicht widerstehen.

Verwandte Themen