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-Quellcode: Verzeichnis einlesen mit PHP
<?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.