Verzeichnisdateinamen mit PHP abrufen
Beim Arbeiten mit Dateisystemen in PHP ist es oft notwendig, eine Liste von Dateinamen in einem Verzeichnis abzurufen . Obwohl die integrierte Readdir-Funktion für diesen Zweck verwendet werden kann, unterliegt sie bestimmten Einschränkungen.
Auftreten des „1“-Problems mit Readdir:
In einigen Fällen Die Verwendung von readdir kann zu unerwarteten Ausgaben führen. Wenn Sie beispielsweise versuchen, Dateinamen in einem Verzeichnis abzurufen, erzeugt der folgende Code möglicherweise ein Array, das mit „1en“ anstelle der tatsächlichen Dateinamen gefüllt ist:
if (is_dir($log_directory)) { if ($handle = opendir($log_directory)) { while($file = readdir($handle) !== FALSE) { $results_array[] = $file; } closedir($handle); } }
Lösung: Verwendung von Glob für Dateinamen Abruf:
Um dieses Problem zu lösen und die gewünschten Dateinamen zu erhalten, wird empfohlen, die Glob-Funktion zu verwenden. glob verwendet ein Dateipfadmuster als Argument und gibt ein Array von Dateinamen zurück, die diesem Muster entsprechen.
Durch die Verwendung von glob können Sie Dateinamen in einem Verzeichnis mithilfe der folgenden Syntax einfach abrufen:
foreach(glob($log_directory.'/*.*') as $file) { ... }
In diesem Beispiel stellt $log_directory den Verzeichnispfad dar, aus dem Sie Dateinamen abrufen möchten. Das *.*-Muster gleicht alle Dateien mit einer beliebigen Erweiterung im angegebenen Verzeichnis ab.
Indem Sie das von glob zurückgegebene Array durchlaufen, können Sie auf die Dateinamen zugreifen und bei Bedarf weitere Vorgänge ausführen.
Das obige ist der detaillierte Inhalt vonWie kann ich Verzeichnisdateinamen in PHP zuverlässig abrufen?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!