Dateien rekursiv löschen, ohne Verzeichnisstruktur zu löschen
Steffen
- php
Moin,
wie kann ich in PHP alle Dateien eines bestimmten Verzeichnisses und deren Unterverzeichniss-Dateien rekursiv löschen, ohne das die Unterverzeichniss-Struktur mitgelöscht wird?
VG
Steffen
Hallo Steffen,
Du durchläufst einfach rekursiv alle Ordner und kannst mit is_dir() oder is_file() prüfen, ob es sich um eine Datei oder ein Verzeichnis handelt und dementsprechend handeln. Denk' auch noch daran, dass es einen Ordner namens '.' und einen Ordner namens '..' gibt.
Gruß, Dennis
Du durchläufst einfach rekursiv alle Ordner und kannst mit is_dir() oder is_file() prüfen, ob es sich um eine Datei oder ein Verzeichnis handelt und dementsprechend handeln. Denk' auch noch daran, dass es einen Ordner namens '.' und einen Ordner namens '..' gibt.
Hallo Dennis,
jau, so mach ichs. Da hatte ich wohl das berühmt berüchtigte Brett vorm Kopf. Danke.
Steffen
Hello Steffen,
Du durchläufst einfach rekursiv alle Ordner und kannst mit is_dir() oder is_file() prüfen, ob es sich um eine Datei oder ein Verzeichnis handelt und dementsprechend handeln. Denk' auch noch daran, dass es einen Ordner namens '.' und einen Ordner namens '..' gibt.
Das rekursive Durchlaufen von Verzeichnissen ist auf einem Linux-System nicht ganz so trivial
Du musst nämlich damit rechnen, dass es Links auf bereits durchlaufene (höhere) Verzeichnisebenen gibt. Das musst Du auf jeden Fall ausschließen. Die Pfade der Verzeichnise müssen also immer erst in den Realpath gewandelt werden.
Man kann Links auch nicht einfach pauschal ausschließen. Wenn sie denn auf Nebenverzeichnisse verweisen, die dazugehören sollen, müssen sie ja verfolgt werden.
Daher würde ich erst die Verzeichnisstruktur in einenm Array sammeln, dann alle Verzeichniseinträge rausschmeißen und dann den Löschvorgang durchführen. Dafür benötigt man dann nicht unbedingt echte Rekursion, sondern eine Schleife, die erst die Verzeichnisse einsammelt, dann die darin enthaltenen Verzeichnisse, usw.
siehe hierzu auch
http://forum.de.selfhtml.org/archiv/2009/4/t185872/#m1234051
http://forum.de.selfhtml.org/archiv/2007/12/t163759/#m1066617
Liebe Grüße aus dem schönen Oberharz
Tom vom Berg