Verzeichnis und Datein löschen

Einklappen
X
 
  • Filter
  • Zeit
  • Anzeigen
Alles löschen
neue Beiträge

  • Verzeichnis und Datein löschen

    Hi,

    wenn ich mit
    PHP-Code:
    $del rmdir($section); 
    ein Verzeichnis löschen möchte, in dem noch dateien sind, kommt folgende Fehlermeldung:
    Warning: rmdir(6) [function.rmdir]: Directory not empty in C:\server\xampp\htdocs\pre\admin_delcat.php on line 87
    Gibt es auch eine Funktion, die das Verzeichnis + alle Dateien löscht? Ich finde nichts dementsprechendes...

    Danke

  • #2
    Nein, erst alles löschen...

    Ansonsten ne Schleife schreiben die alles ausliest und löscht... und dann Verzeichnis schließen und löschen.
    Für alle die Fehler suchen, gibts gratis tolle Debuggingmöglichkeiten:
    var_dump(), print_r(), debug_backtrace und echo.
    Außerdem gibt es für unsere Neueinsteiger ein hervorragendes PHP Tutorial zu PHP 4 und PHP 5 (OOP)
    Es heißt $array['index'] und nicht $array[index]! Und nein, das ist nicht egal!
    Dieses Thema lesen, um Ärger im Forum und verzögerte Hilfen zu vermeiden.

    Kommentar


    • #3
      es gibt keine eigene funktion dafür.

      erst dateien auslesen und löschen, dann das verzeichnis killen. rekursive funktionen findest du in den codeschnipseln, das löschen musst du wahrscheinlich selber reinbasteln.
      Kissolino.com

      Kommentar


      • #4
        Original geschrieben von Shurakai
        Nein, erst alles löschen...

        Ansonsten ne Schleife schreiben die alles ausliest und löscht... und dann Verzeichnis schließen und löschen.
        Hmm, und wie kann ich alle Dateien auslesen und löschen?

        Sorry, aber ich kenne mich mit datei- und verzeichnissfunktionen nicht wirklich aus...

        Kommentar


        • #5
          mit glob() und unlink()
          u.u. rekursiv, falls unterordner.

          Kommentar


          • #6
            Hmm, sorry...
            Ich bekomm das einfach nicht hin.

            PHP-Code:
            $dir=opendir("$section");
            .
            .
            .
            $cdir=closedir($section);
            $del rmdir($section); 
            Was muss ich da einbauen, damit alle dateien in dem Ordner gelöscht werden?

            Kommentar


            • #7
              PHP-Code:
              "$section
              ist unrichtig.

              aber ansonsten - hab ich dir 2 funktionen genannt, mit denen es machbar ist.

              Kommentar


              • #8
                Original geschrieben von penizillin
                PHP-Code:
                "$section
                ist unrichtig.

                aber ansonsten - hab ich dir 2 funktionen genannt, mit denen es machbar ist.
                Ups, stimmt

                unlink() verstehe ich schon, aber ich weiß nicht wie ich glob() hier verwenden soll...

                Kommentar


                • #9
                  http://de3.php.net/manual/de/function.glob.php

                  überleg mal, was passiert, wenn man im 1. beispiel unlink statt echo benutzt.

                  Kommentar


                  • #10
                    Also dann praktisch so:

                    PHP-Code:
                    opendir ($section);
                    foreach (
                    glob("*.gif") as $filename//zeile 89
                    {
                    unlink ($filename);
                    }

                    closedir ($section);
                    $del rmdir($section); 
                    So kommen aber folgende Fehlermeldungen:

                    Warning: Invalid argument supplied for foreach() in C:\server\xampp\htdocs\pre\admin_delcat.php on line 89

                    Warning: closedir(): supplied argument is not a valid Directory resource in C:\server\xampp\htdocs\pre\admin_delcat.php on line 94

                    Warning: rmdir(15) [function.rmdir]: Permission denied in C:\server\xampp\htdocs\pre\admin_delcat.php on line 95

                    Kommentar


                    • #11
                      wozu opendir und closedir?
                      der pfad für glob muss stimmen.

                      Kommentar


                      • #12
                        Original geschrieben von penizillin
                        wozu opendir und closedir?
                        der pfad für glob muss stimmen.
                        OK, funktioniert, danke
                        Eine letzte Frage noch: Kann man das *.gif noch ändern, das alle datein (also egal welche Endung) gelöscht werden?

                        Kommentar


                        • #13
                          wieso fragen statt probieren?
                          sei trotzdem vorsichtig damit

                          Kommentar


                          • #14
                            Original geschrieben von penizillin
                            wieso fragen statt probieren?
                            sei trotzdem vorsichtig damit
                            OK^^
                            Komme aber mit dem Probieren nicht weiter...
                            Was meinst du mit "vorsichtig sein" ?

                            Kommentar


                            • #15
                              Code:
                              *.gif //alle gif's
                              * //alle dateien
                              überrascht dich das?
                              mit dem löschen sollte man immer vorsichtig sein.

                              Kommentar

                              Lädt...
                              X