Steffen: Dateien rekursiv löschen, ohne Verzeichnisstruktur zu löschen

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

  1. 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

    1. 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

    2. 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

      --
       ☻_
      /▌
      / \ Nur selber lernen macht schlau
      http://bergpost.annerschbarrich.de