Verzeichnis einlesen
Je nach Aufgabenstellung ist es praktisch, den Inhalt eines Verzeichnisses auslesen zu lassen. Dazu geht man folgenden Weg:
Das gewünschte Verzeichnis wird in einer Variablen hinterlegt, im folgenden Beispiel in der Variable $verzeichnis
Dann wird überprüft, ob es sich wirklich um ein Verzeichnis handelt.
Ist es ein Verzeichnis wird über
opendir
ein Handle erstellt, mit dem dann weitergearbeitet wird.
Jetzt wird das Verzeichnis mit readdir
in einer while-Schleife durchlaufen,
bis das Verzeichnisende erreicht ist. Wir erhalten von der Funktion ein false als Rückgabewert
und beenden die while-Schleife.
Innerhalb der Schleife können wir nun mit der Funktion filetype testen, ob es sich um eine Datei (file) oder um ein Unterverzeichnis (dir) handelt.
Im Beispiel wird der Inhalt des aktuellen Verzeichnisses ausgegeben.
<?php // Der Punkt steht für das Verzeichnis, in der auch dieses // PHP-Programm gespeichert ist $verzeichnis = "."; echo "<ol>"; // Test, ob es sich um ein Verzeichnis handelt if ( is_dir ( $verzeichnis )) { // öffnen des Verzeichnisses if ( $handle = opendir( $verzeichnis) ) { // einlesen der Verzeichnisses while (($file = readdir( $handle)) !== false) { echo "<li>Dateiname: "; echo $file; echo "<ul><li>Dateityp: "; echo filetype( $file ); echo "</li></ul>\n"; } closedir($handle); } } echo "</ol>"; ?>
Interessant wird die Weiterverarbeitung der Dateinamen. Dazu eignen sich besonders Array - siehe das Kapitel Arrays. Als Beispiel für die Anwendung ist das Kapitel Bildergalerie gedacht.