Heim >Backend-Entwicklung >PHP-Tutorial >Wie kann ich Dateinamen effizient aus einem Verzeichnis in PHP abrufen?
Erhalten von Dateinamen aus einem Verzeichnis mit PHP
Bei der Arbeit mit Verzeichnissen in PHP ist es eine häufige Aufgabe, die Namen aller Verzeichnisse abzurufen darin enthaltenen Dateien. Während die Verwendung der Funktionen opendir() und readdir() dies effektiv erreichen kann, kann bei bestimmten Implementierungen ein Problem auftreten, bei dem für jede erkannte Datei nur „1“ zurückgegeben wird.
Dieses Verhalten ist auf die Standardeinstellung der Funktion readdir() zurückzuführen Vorgang, bei dem die Dateien im Verzeichnis durchlaufen werden und ihre Indexnummern anstelle ihrer tatsächlichen Namen zurückgegeben werden. Um dies zu beheben, wird ein alternativer Ansatz mit der Funktion glob() empfohlen.
Die Funktion glob() akzeptiert ein Platzhaltermuster und durchsucht rekursiv den angegebenen Verzeichnispfad, wobei alle Dateien abgeglichen und zurückgegeben werden, die dem Muster entsprechen. Durch die Verwendung eines Platzhalters wie *.* wird sichergestellt, dass alle Dateien mit einer beliebigen Erweiterung im Verzeichnis erfasst werden. Die zurückgegebenen Werte sind ein Array von Dateipfaden, über die iteriert werden kann, um die gewünschten Dateinamen zu extrahieren.
Hier ist ein Beispiel, das glob() verwendet, um Dateinamen aus einem Verzeichnis abzurufen:
foreach (glob($log_directory . '/*.*') as $file) { // Process file name }
Durch die Verwendung von glob() können Sie effektiv die Namen aller Dateien in einem Verzeichnis abrufen und so das „1“-Problem beseitigen, das bei readdir() auftritt. Dieser Ansatz ist effizient, robust und zuverlässig.
Das obige ist der detaillierte Inhalt vonWie kann ich Dateinamen effizient aus einem Verzeichnis in PHP abrufen?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!