Georg: nicht leere Verzeichnisse löschen??

Moinsen Leute,

ich möchte gern ein Verzeichnis löschen, dass noch andere Dateien enthält. Leider funktioniert das mit dem Befehl

rmdir ($dirname);

nicht. Ich bekomme immer die folgende Fehlermeldung:

Warning: rmdir() failed (Directory not empty) in c:\programme\easyphp\www\intern\php_scripte\deletef.php on line 28

Koennt Ihr mir sagen, woran das liegt? Gibt es einen Befehl, der das Löschen eines nicht! leeren Verzeichnisses erlaubt, oder muss ich erst das Verz. öffnen und alle Dateien löschen (wenn ja, wie lösch ich eine Datei?), bevor ich auch das Verz. löschen kann??

Vielen Dank schon mal für Eure Hilfe...
Ciao Georg

  1. Holladiewaldfee,

    rmdir ($dirname);

    nicht. Ich bekomme immer die folgende Fehlermeldung:

    Warning: rmdir() failed (Directory not empty) in c:\programme\easyphp\www\intern\php_scripte\deletef.php on line 28

    Freilich. Ist auch gut so.

    Koennt Ihr mir sagen, woran das liegt?

    Sagt die Fehlermeldung doch: Es sind noch Dateien im Verzeichnis. rmdir() löscht ien Verzeichnis erst, wenn es leer ist.

    Gibt es einen Befehl, der das Löschen eines nicht! leeren Verzeichnisses erlaubt, oder muss ich erst das Verz. öffnen und alle Dateien löschen (wenn ja, wie lösch ich eine Datei?), bevor ich auch das Verz. löschen kann??

    Dateien löschen geht mit unlink(). Wenn Du erst alle Dateien löschen willst, mußt Du aber dran denken, die Verzeichnisstruktur rekursiv zu durchforsten, schließlich kann das Verzeichnis selbst ja wieder Verzeichnisse enthalten, die nicht leer sind.

    Alternativ kannst Du

    exec("rm -rf ".$verzeichnis);

    hernehmen. Du solltest jedoch alle möglichen Sicherheitskontrollen bzgl. $verzeichnis durchführen und drauf achten, daß $verzeichnis ein absoluter Pfad ist.

    Ciao,

    Harry

    --
      (There are only 10 types of people in this world: Those who understand binary and those who don't)