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); } }
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) { ... }
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!