Heim > Backend-Entwicklung > PHP-Tutorial > (Am klarsten) Schreiben Sie eine Funktion, die alle Dateien und Unterordner in einem Ordner durchlaufen kann.

(Am klarsten) Schreiben Sie eine Funktion, die alle Dateien und Unterordner in einem Ordner durchlaufen kann.

WBOY
Freigeben: 2016-08-08 09:29:15
Original
1394 Leute haben es durchsucht
<?php

function my_scandir($dir)  
{  
     $files = array();  
     if ( $handle = opendir($dir) ) {  
         while ( ($file = readdir($handle)) !== false ) {  
             if ( $file != ".." && $file != "." ) {  
                 if ( is_dir($dir . "/" . $file) ) {  
                     $files[$file] = my_scandir($dir . "/" . $file);   
                 }else {  
                     $files[] = $file;  
                 }  
             }  
         }  
         closedir($handle);  
         return $files;  
     }  
}

dump(my_scandir("D:\wwwroot"));


function dump($vars){
	$content = "<div align=left><pre class="brush:php;toolbar:false">\n" . htmlspecialchars(print_r($vars, true)) . "\n
\n"; echo "{$content}"; return; }
Nach dem Login kopieren

opendir – Verzeichnis-Handle öffnen
Beschreibung
Ressource opendir (String-Pfad)
Gibt ein Verzeichnis-Handle zurück, das später in closeir(), readdir verwendet werden kann ( )- und rewinddir()-Aufrufe.
Wenn der Pfad kein zulässiges Verzeichnis ist oder das Verzeichnis aufgrund von Berechtigungsbeschränkungen oder Dateisystemfehlern nicht geöffnet werden kann, gibt opendir() FALSE zurück und generiert eine PHP-Fehlermeldung der Stufe E_WARNING. Sie können die Ausgabe von Fehlermeldungen unterdrücken, indem Sie das „@“-Symbol vor opendir() hinzufügen.
readdir – Liest einen Eintrag aus einem Verzeichnis-Handle
Beschreibung
string readdir ( Ressource dir_handle)
Gibt den Dateinamen der nächsten Datei im Verzeichnis zurück. Dateinamen werden der Reihe nach im Dateisystem zurückgegeben.
Bitte beachten Sie die Art der Überprüfung des Rückgabewerts von readdir() im folgenden Beispiel. Wir testen explizit, ob die Rückgabewerte alle gleich sind (gleicher Wert und Typ – siehe Vergleichsoperatoren für weitere Informationen) FALSE, andernfalls führt jeder Verzeichniseintrag, dessen Name als FALSE ausgewertet wird, dazu, dass die Schleife stoppt (z. B. ein Verzeichnis mit dem Namen „0“ ).
is_dir – Bestimmt, ob der angegebene Dateiname ein Verzeichnis ist
Beschreibung
bool is_dir ( string filename)
Gibt TRUE zurück, wenn der Dateiname existiert und ein Verzeichnis ist. Wenn der Dateiname ein relativer Pfad ist, wird sein relativer Pfad mit dem aktuellen Arbeitsverzeichnis verglichen.
Hinweis: Das Ergebnis dieser Funktion wird zwischengespeichert. Weitere Informationen finden Sie unter „clearstatcache()“.
Hinweis: Diese Funktion kann nicht für Remote-Dateien verwendet werden. Der Zugriff auf die zu prüfenden Dateien muss über das Dateisystem des Servers erfolgen.
scandir – Listet die Dateien und Verzeichnisse im angegebenen Pfad auf
Beschreibung
array scandir ( string Verzeichnis [, int sorting_order])
Gibt ein Array zurück, das die Verzeichnisdateien und enthält Verzeichnisse. Wenn das Verzeichnis kein Verzeichnis ist, wird der boolesche Wert FALSE zurückgegeben und ein Fehler der Stufe E_WARNING generiert.

Standardmäßig werden die zurückgegebenen Werte in aufsteigender alphabetischer Reihenfolge sortiert. Wenn der optionale Parameter sorting_order verwendet wird (auf 1 gesetzt), wird die Reihenfolge in absteigender alphabetischer Reihenfolge sortiert.

Das Obige stellt (am offensichtlichsten) vor, wie man eine Funktion schreibt, die alle Dateien und Unterordner in einem Ordner durchlaufen kann. Ich hoffe, dass es Freunden, die sich für PHP-Tutorials interessieren, hilfreich sein wird, einschließlich relevanter Inhalte.

Verwandte Etiketten:
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
Beliebte Empfehlungen
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage