Heim >Backend-Entwicklung >PHP-Tutorial >Wie kann ich Verzeichnisdateinamen in PHP zuverlässig abrufen?

Wie kann ich Verzeichnisdateinamen in PHP zuverlässig abrufen?

DDD
DDDOriginal
2024-12-08 08:16:13296Durchsuche

How Can I Reliably Retrieve Directory Filenames in PHP?

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!

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn