Heim  >  Artikel  >  Backend-Entwicklung  >  Wie durchläuft man alle Dateien in einem bestimmten Verzeichnis? (PHP-Dateisystembetrieb)

Wie durchläuft man alle Dateien in einem bestimmten Verzeichnis? (PHP-Dateisystembetrieb)

黄舟
黄舟Original
2017-05-20 17:01:563723Durchsuche

Wie durchläuft man alle Dateien in einem bestimmten Verzeichnis? (PHP-Dateisystembetrieb)

Im erworbenen Verwaltungssystem der Website ist es häufig erforderlich, die Dateien auf dem Website-Server zu verwalten und zu verwalten. Manchmal ist es notwendig, einen Ordner hinzuzufügen und eine bestimmte Datei oder Datei löschen. Um diese Dateien oder Ordner besser anzeigen zu können, ist es notwendig, die Dateien im angegebenen Verzeichnis zu durchlaufen.

Der Schlüssel zum Durchsuchen aller Dateien in einem bestimmten Verzeichnis ist die Anwendung von Verzeichnis- und Dateiverarbeitungsfunktionen, einschließlich der Funktionen file_exists(), is_dir(), opendir() und closeir().

1. Anwendungsfunktionsanalyse

(1) file_exists(): Überprüfen Sie, ob die Datei oder das Verzeichnis existiert. Die Syntax lautet wie folgt:

bool file_exists(string filename)

Wenn die durch Dateiname angegebene Datei oder das Verzeichnis existiert, geben Sie „true“ zurück, andernfalls geben Sie „false“ zurück.

(2) is_dir(): Bestimmen Sie, ob der angegebene Dateiname ein Verzeichnis ist. Das Syntaxformat lautet wie folgt:

bool is_dir(string filename)

Wenn der Dateiname existiert und ein Verzeichnis ist, geben Sie „true“ zurück. Wenn der Dateiname ein relativer Pfad ist, überprüfen Sie seinen relativen Pfad entsprechend dem aktuellen Arbeitsverzeichnis.

Hinweis:

Das Ergebnis dieser Funktion wird zwischengespeichert und kann nicht auf Remote-Dateien und angewendet werden ist aktiviert. Der Zugriff auf die Dateien muss über das Dateisystem des Servers erfolgen.

(3) opendir(): Öffnen Sie das Verzeichnishandle. Das spezifische Syntaxformat lautet wie folgt:

resource opendir(string path)

Diese Funktion gibt ein Verzeichnishandle zurück, das kann geschlossen seinir(), Wird vor readdir() aufgerufen. Wenn path kein zulässiges Verzeichnis ist oder das Verzeichnis aufgrund von Berechtigungseinschränkungen oder Dateisystemfehlern nicht geöffnet werden kann, gibt opendir() false zurück und generiert eine Fehlermeldung.

(4) readdir(): Einträge aus dem Verzeichnishandle lesen. Das spezifische Syntaxformat ist wie folgt:

string  readdir(resource dir_handle)

Diese Funktion gibt den Dateinamen der nächsten Datei im Verzeichnis zurück . Der Dateiname wird der Reihe nach im Dateisystem zurückgegeben.

(5) geschlossenir(): Das spezifische Format ist wie folgt:

string  closedir(resource dir_handle)

Diese Funktion schließt den durch dir_handle angegebenen Verzeichnisstream von opendir() Pass.

Durch umfassende Nutzung der oben genannten Funktionen können Sie den Dateidurchlaufvorgang im angegebenen Verzeichnis realisieren.

2. Anwendungsbeispiel

In diesem Beispiel wird die oben eingeführte Funktion angewendet, um den Durchlaufvorgang von Dateien im angegebenen Verzeichnis zu realisieren. Die spezifischen Schritte lauten wie folgt:

(1) Erstellen Sie eine PHP-Datei, fügen Sie ein Formular hinzu, definieren Sie Formularelemente und senden Sie den Pfad zum Verzeichnis über die Post-Methode.

(2) Bestimmen Sie in dieser PHP-Datei, ob der übermittelte Verzeichnispfad leer ist, öffnen Sie dann das Verzeichnis, lesen Sie die Dateien im Verzeichnis und geben Sie die gelesenen Dateien aus. Schließen Sie das Verzeichnis, andernfalls wird das Ausgabeverzeichnis geschlossen nicht vorhanden, der spezifische Code lautet wie folgt:

<form name="form1" action="6.php" method="post">
   文件名称: <input name="file_name" type="text">
           <input type="submit" name="Submit" value="提交">
</form>
<?php
header("Content-Type:text/html; charset=utf-8");
$file_name = $_POST[&#39;file_name&#39;];
if ($file_name){
if(!file_exists($file_name)){                 //判断指定路径的目录是否存在
    print $file_name."目录不存在";
}else{
    $i =0;
    if(is_dir($file_name)){                   //检测是否是合法目录
        if ($list = opendir($file_name)){      //打开目录
            while ($read_list = readdir($list)){  //读取目录
                $i++;    
            echo "$i:".iconv("gb2312","utf-8","$read_list")."<br>";
        }
    }
}
closedir($list);    //关于目录
}
}

Führen Sie dieses Beispiel aus, geben Sie einen angegebenen Ordner in das Textfeld ein und klicken Sie auf die Schaltfläche „Senden“. Wenn der Ordner vorhanden ist, kann der Ordner Alle angezeigt werden Die unten aufgeführten Dateien lauten wie folgt:

Wie durchläuft man alle Dateien in einem bestimmten Verzeichnis? (PHP-Dateisystembetrieb)

Das obige ist der detaillierte Inhalt vonWie durchläuft man alle Dateien in einem bestimmten Verzeichnis? (PHP-Dateisystembetrieb). 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