simplex-media
Goto Top

Leere Ordner löschen

Hallo,
wie stelle ich es am geschicktesten an in einer Ordnerstruktur all die Ordner zu entfernen die weder Dateien noch Unterordner beinhalten zu löschen?
und wie dehne ich es auch die komplette Struktur aus das er auch kuckt ob es leere Unterordner, unter unter ordner,... gibt?
Hoffe ich konnte rüberbringen was genau ich meine, wäre für jeden rat sehr dankbar.

Content-Key: 105289

Url: https://administrator.de/contentid/105289

Ausgedruckt am: 28.03.2024 um 17:03 Uhr

Mitglied: bytecounter
bytecounter 06.01.2009 um 11:01:28 Uhr
Goto Top
Hallo,

das Ganze hört sich für ein PHP-Projekt etwas seltsam an..aber machbar ist es wohl..

Ich würde grob erstmal folgendermassen vorgehen:

1. Oberste Ordnerebene einlesen
2. Nächste Ebene einlesen - ist ein Ordner leer, kann man ihn schon löschen (s. unten).
3. ..und noch eine Ebene tiefer...
4. ....das bis zum Ende der Ordnerhierarchie...nun sind alle Ordner gelöscht, die leer waren, fehlen noch die Ordner, die leer durch Löschen eines leeren Unterordners leer geworden sind..
5. und die Ebenen wieder in umgekehrter Reihenfolge nach oben lesen und ggf. löschen

Einlesen eines Verzeichnisses mit opendir(), readdir (), sind die einzigen Dateien "." und ".." ist der Ordner leer und kann direkt gelöscht werden. Ansonsten die Unterverzeichnisse öffnen und wieder die Prüf-/Löschfunktion ausführen.

Am Besten kannst Du das mit einer rekursiven Funktion umsetzen, also eine Funktion die sich für jeden Unterordner selbst aufruft.

Ich hoffe, Du kommst mit meinen groben Ausführungen klar

vg
Bytecounter