Alle Dateien im Verzeichnis löschen - ausgenommen sich selbst

Collapse
X
 
  • Filter
  • Time
  • Show
Clear All
new posts

  • Alle Dateien im Verzeichnis löschen - ausgenommen sich selbst

    Hallo

    Ich habe da einen Code der beim Aufruf alle Dateien im Verzeichnis löscht in welchem sie liegt. Es löscht sich sogar selber. Könnte mir jemand helfen wie man das umschreiben kann, damit sich die Datei delete_this_folder.php diese nicht mitlöscht?
    Bin auf euer Feedback gespannt und hier nun noch der Code:
    PHP Code:
    <?php
    $folder 
    ".";
    if(
    $dir=opendir($folder))
    {
            while(
    $file=readdir($dir))
            {
                    if(!
    is_dir($folder."/".$file) && $file != "." && $file != "..")
                    {
                            if(
    unlink($file))
       {
       echo 
    "$file wurde erfolgreich gel&ouml;scht. <br />";
       }
                    }
            }
    closedir($dir);
    }
    ?>

  • #2
    PHP Code:
    $filter ".";

    foreach(
    glob($filter) as $deliquent)
      if(
    basename($deliquent)===basename(__FILE__)) continue;
      else 
    unlink($deliquent); 
    *ungetestet*
    Wir werden alle sterben

    Comment


    • #3
      Besten Dank für den Tipp. Nun bin ich aber zu blöde um zu wissen wie und wo ich den Code einbauen soll, damit ich es testen kann.

      Comment


      • #4
        Wenn du den alten verwenden konntest, dann auch diesen.
        Wir werden alle sterben

        Comment


        • #5
          Nun ja, leider hat keine meiner Versuche funktioniert. Die Datei wird immer mitgelöscht oder es passiert gar nichts.

          Comment


          • #6
            Wie sieht dein aktueller Versuch aus?

            Falls du PHP nicht lernen willst, verschiebe ich dich gerne nach Projekthilfe.

            Comment


            • #7
              Das sieht nun so aus, dass ich die Datei in ein anderes Verzeichnis gespeichert habe und nun mit dem Code den Inhalt eines definierten Verzeichnis lösche.
              Hier der Code
              PHP Code:
              <?PHP 
                $strDir 
              './uploads/'
                
              $arFiles scandir $strDir ); 
                foreach ( 
              $arFiles as $strFile 
                { 
                  if ( 
              $strFile != '.' && $strFile != '..' 
                       
              && ! is_link $strDir $strFile 
                       && 
              is_file $strDir $strFile ) ) 
                  { 
                    if ( @ 
              unlink $strDir $strFile ) ) 
                    { 
                      print 
              'Gelöscht: ' $strDir $strFile '<br />' "\n"
                    } 
                    else 
                    { 
                      print 
              'Fehlschlag: ' $strDir $strFile '<br />' "\n"
                    } 
                  } 
                } 
              ?>
              Sorry aber manchmal eilt es eben und dann möchte man nicht erst lernen sondern hofft auf schnelle Hilfe.
              Danke trotzdem.

              Comment


              • #8
                Schon. Dennoch würde ich gerade bei Löschoperationen nicht irgend einen x-beliebigen Code aus irgendeinem Forum kopieren.

                Comment

                Working...