PHP / AJAX: Verzeichnisstruktur darstellen

Diese Seite verwendet Cookies. Durch die Nutzung unserer Seite erklären Sie sich damit einverstanden, dass wir Cookies setzen. Weitere Informationen

  • PHP / AJAX: Verzeichnisstruktur darstellen

    Hallo!

    Ich möchte in meinem Uploadscript ein neues Feature einbauen:
    Verzeichnisse für die User.
    Dazu will ich an der Datenstruktur nichts verändern.
    Ich will jediglich in der Datenbank zu jedem Upload das Verzeichnis speichern.
    Beispiel:
    ID=6
    Name=bild.jpg
    dir=bilder
    dir_id=4
    user_id=3
    [...]

    Dazu will ich eine Tabelle mit den Verzeichnissen anlegen, um Unterordner zu ermöglichen:
    ID=4
    dir_name=bilder
    user_id=3
    parent_dir=2

    Jeder User soll standartmäßig ein Verzeichnis "root" haben, in dem der User arbeiten kann.
    Das rootverzeichnis muss dann nicht in der DB gespeichert werden und hat immer die ID=0.
    Somit weiss ich, dass ein ordner mit parent_dir=0 ein verzeichniss in der 1. Ebene ist. Dateien mit dir=root und dir_id=0 sind im rootordner.

    Würde mein Vorschlag von der Datenstruktur her Sinn machen?

    edit: wenn ich eine gute strktur habe, dann kann man sich auch über die darstellung gedanken machen :P
  • in deiner dateiupload tabelle brauchst du nur die ID des ordners.. nicht den zugehörigen namen
    stell dir vor, du benennst den ordner um, dann musst ja gleich mehrere tabellen ändern

    aber die ordner struktur ist ok..
    mach ich auch immer so
    id und parent_id

    aber für schreibzugriffe würde ich auch eine extra tabelle machen
    denn wie willst du realisieren, dass ein ordner von mehreren personen genutzt werden kann?
  • Jeder User hat seine eigenen Ordner, die nur er zum Organisieren seiner Dateien benutzt. Von daher entfällt die Auflistung der Schreibrechte.
    Und den Ordnernamen kann ich eig weglassen, hatte den nur erstmal mit reingenommen, aber das ist denk ich überflüssig!

    Nun zum Hauptproblem:
    Ich möchte das so lösen, dass man eine Art "Baumstruktur" in der Ordneransicht hat. Man kann einzelnen Ordner durch draufklicken öffnen und schließen.
    Wie kann ich soetwas vernünftig lösen?