Bevor wir den Inhalt eines Verzeichnisses mit PHP auslesen können, müssen wir das gewünschte Verzeichnis zuerst öffnen:
<?PHP $verz = opendir("."); ?>
Der Punkt (.) steht dabei für das gleiche Verzeichnis in dem sich auch unsere PHP-Datei selbst befindet. Wollen wir hingegen den Inhalt eines Unterverzeichnisses auflisten, benötigen wir folgenden Code:
<?PHP $verz = opendir("unterverzeichnis"); ?>
Anschließend können wir mit der PHP-Funktion readdir() uns den Inhalt des von uns gewählten Verzeichnisses ausgeben lassen.
Da dabei nicht sichergestellt ist, dass wir den Inhalt des Verzeichnisses bereits in der korrekten alphabetischen Reihenfolge bekommen, legen wir die erhaltenen Dateinamen in einem Array ab, welches wir im Anschluss mit sort() sortieren können:
<?PHP
while($file = readdir($verz)){
if($file != "." && $file != ".." && $file != $_SERVER['PHP_SELF']){
// Alle Ordner/Files werden in den Array geschrieben (immer ans Ende):
array_push ($linkl, $file);
}
}
// Der Array wird alphabetisch sortiert:
sort($linkl);
?>
Für die Ausgabe des Array-Inhalts nutzen wir dann wie gewohnt die foreach()-Funktion um alle Elemente des Array zu erhalten und als Punkt der Liste auszugeben:
<?PHP
echo "<ul>n";
// Der Array wird ausgegeben:
foreach($linkl as $filename){
echo "<li><a href="".$filename."">".$filename."</a></li>n";
}
echo "</ul>";
?>
Der komplette Quellcode dieser Funktion sieht folgendermaßen aus: