Christian Seiler: rekursives löschen in verzeichnis

Beitrag lesen

Hallo,

Da liegt der Fehler:

-----------------------------------------
        } else if ((is_file ($path.'/'.$entry) || is_link ($path.'/'.$entry)) && strstr($path.'/'.$entry,".htm") == false) {
            // ansonsten loesche diese Datei / diesen Link
            echo "<code><b>".$path."/".$entry." wird gelöscht:</b><br />size: ".filesize($path.'/'.$entry)." <span style="color:#FF0000">DELETED</span></code><br />";
            $res = @unlink ($path.'/'.$entry);
            // Fehler?
            if (!$res) {
                @closedir ($dir); // Verzeichnis schliessen
                return -2; // melde ihn
            }
        } else {
            // ein nicht unterstuetzer Dateityp
            @closedir ($dir); // Verzeichnis schliessen
            return -3; // tut mir schrecklich leid...
        }
-----------------------------------------

Sobald eine nicht-.htm-Datei gefunden wird, bricht er komplett ab. Daher:

-----------------------------------------
        } else if (is_file ($path.'/'.$entry) || is_link ($path.'/'.$entry)) {
            // ansonsten loesche diese Datei / diesen Link
            echo "<code><b>".$path."/".$entry." wird gelöscht:</b><br />size: ".filesize($path.'/'.$entry)." <span style="color:#FF0000">DELETED</span></code><br />";
            if (strstr($path.'/'.$entry,".htm") == false) {
              $res = @unlink ($path.'/'.$entry);
            } else {
              $res = true;
            }
            // Fehler?
            if (!$res) {
                @closedir ($dir); // Verzeichnis schliessen
                return -2; // melde ihn
            }
        } else {
            // ein nicht unterstuetzer Dateityp
            @closedir ($dir); // Verzeichnis schliessen
            return -3; // tut mir schrecklich leid...
        }
-----------------------------------------

Viele Grüße,
Christian