Hallo,
ich stecke mal wieder in einer Sackgasse. Für mein Redaktionssystem möchte ich mir die Struktur meines Bilder-Verzeichnisses anzeigen lassen. Das mache ich erstmal so:
function get_dir($dir) {
$id = $_GET['id'];
$fp=opendir($dir);
while($ordner=readdir($fp)) {
if(is_dir("$dir/$ordner") && $ordner!="." && $ordner!="..") {
echo "<a href="neues_bild.php?verz=$ordner&id=$id"><img src="ordner.gif" alt="Ordner" border="0" /> ".$ordner."</a><br />";
}
}
closedir($fp);
}
if(isset($_GET['verz'])) {
$verz = $_GET['verz'];
get_dir("../Bilder/$verz");
}
else {
get_dir("../Bilder");
}
Ich bekomme jetzt die Ordner ($verz) des Hauptverzeichnisses angezeigt und kann mit mir mit get_dir("../Bilder/$verz") auch einen Ordner auswählen und mir wiederum seine Unterverzeichnisse (quasi $verz2) anzeigen lassen. Aber dann ist Schluss, tiefer kann ich nicht gehen, da dann praktisch die Funktion get_dir("../Bilder/$verz2") aufgerufen wird. Das haut natürlich nicht hin, weil es heißen müßte get_dir("../Bilder/$verz/$verz2"). Und so weiter und so fort, je nachdem, wieviele Verzeichnisse folgen.
Ich könnte natürlich davon ausgehen, dass es maximal vier Unterverzeichnisse gibt und dann für jedes Unterverzeichnis eine neue Funktion schreiben, aber das ist wohl kein besonders schöner Stil und ist mir auch zu unflexibel, weil ich ja nicht weiß, wieviele Unterverzeichnisse eventuell später dazukommen. Ich habs auch schon mit einer sich immer wieder selbst aufrufenden Funktion versucht, aber damit bin ich nun erst gar nicht zurecht gekommen. Oder ist das der einzige Weg? Ich hoffe, ich konnte mich halbwegs verständlich ausdrücken.
Danke schonmal für eure Anregungen,
Onkel Schnitzel