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.