Heim > Backend-Entwicklung > PHP-Tutorial > Warum gibt mein PHP-Verzeichniseintrag „1' anstelle von Dateinamen zurück?

Warum gibt mein PHP-Verzeichniseintrag „1' anstelle von Dateinamen zurück?

Susan Sarandon
Freigeben: 2024-12-05 06:39:15
Original
636 Leute haben es durchsucht

Why Does My PHP Directory Listing Return

Abrufen von Dateinamen aus einem Verzeichnis in PHP

In PHP kann das Abrufen der Namen von Dateien in einem Verzeichnis eine unkomplizierte Aufgabe sein. Möglicherweise stoßen Sie jedoch auf ein Problem, bei dem der von Ihnen präsentierte Code „1“ anstelle der Dateinamen zurückgibt.

Lassen Sie uns tiefer in den Code eintauchen:

if (is_dir($log_directory)) {
    if ($handle = opendir($log_directory)) {
        while($file = readdir($handle) !== FALSE) {
            $results_array[] = $file;
        }
        closedir($handle);
    }
}
Nach dem Login kopieren

In diesem Code sind Sie Ich versuche, mit opendir() und readdir() Dateien aus einem Verzeichnis zu lesen. Obwohl dieser Ansatz in vielen Fällen funktioniert, werden die Dateinamen möglicherweise nicht immer korrekt angezeigt.

Lösung: Verwendung von glob() für den Dateiabruf

Anstelle von opendir( ) und readdir() sollten Sie die Nutzung der glob()-Funktion in Betracht ziehen. Es bietet eine effizientere Möglichkeit, eine Liste von Dateien in einem Verzeichnis abzurufen:

foreach(glob($log_directory.'/*.*') as $file) {
    ...
}
Nach dem Login kopieren

In diesem Code durchsucht glob() das $log_directory nach allen Dateien mit einer beliebigen Dateierweiterung (*.*). Es gibt ein Array zurück, das die vollständigen Pfade zu den gefundenen Dateien enthält.

Durch Iteration über das von glob() erhaltene Array können Sie auf den vollständigen Pfad jeder Datei einschließlich ihres Namens zugreifen. Diese Methode beseitigt das Problem, dass „1“ als Dateiname benötigt wird, und liefert Ihnen die tatsächlichen Dateinamen im Verzeichnis.

Das obige ist der detaillierte Inhalt vonWarum gibt mein PHP-Verzeichniseintrag „1' anstelle von Dateinamen zurück?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Quelle:php.cn
Erklärung dieser Website
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
Neueste Artikel des Autors
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage