Mailinglisten-Archive |
Oliver Richter schrieb: > Auf einem Server habe ich eine Reihe von Ordnern und Unterordnern. Benutzer können über einen einfachen Verzeichnisbaum navigieren, allerdings sollen bestimmte Ordner nur für Benutzer mit entsprechendem Userlevel sichtbar sein. Zu jedem Ordner auf der Festplatte gibt es in einer MySQL-Datenbank einen Eintrag in der Tabelle "verzeichnisse" mit den Feldern "Pfad", "Datei" und "Level" (und natürlich einem Index "id"). Das sieht dann z.B. so aus: > > id - pfad - datei - level > 1 - (leer) - Ordner01/ - 1 > 2 - Ordner01/ - unterordner_A/ - 1 > 3 - Ordner01/unterordner_A/ - Testordner_01/ - 3 > 4 - (leer) - Ordner02/ - 2 > usw... > > Ich habe jetzt eine einfache Funktion geschrieben, welche rekursiv die Verzeichnisse auf der Festplatte durchgeht und so einen Baum ausgibt. > > function verzeichnisbaum[...] > > Jetzt suche ich nach der peformantesten Möglichkeit, bei der Ausgabe des Baumes die Zugangslevel zu berücksichtigen und Ordner ggf. nicht auszugeben. In jedem Durchlauf der Rekursion eine neue Select-Abfrage abzusetzen stelle ich mir sehr unperformant vor, hab aber grade eine Denkblockade und mir will keine saubere, effektive Lösung einfallen :/ In dem du schon vorher alle Rechte der/des Benutzers ausliest!? Übrigens: http://de.php.net/spl -- Sebastian Mendel www.sebastianmendel.de
php::bar PHP Wiki - Listenarchive