Unlöschbare Ordner auf dem Server löschen! - Druckversion +- net-board.net Archiv (https://net-board.net) +-- Forum: Deine eigene Homepage (https://net-board.net/forumdisplay.php?fid=26) +--- Forum: Scriptsprachen (+Datenbanksysteme) (https://net-board.net/forumdisplay.php?fid=19) +--- Thema: Unlöschbare Ordner auf dem Server löschen! (/showthread.php?tid=5437) |
Unlöschbare Ordner auf dem Server löschen! - KingGO - 22.08.2006 Hallo Leute, hier ein Codeschnippsel wie Ihr z.B. von einen Script generierte Ordner wegbekommt worauf Ihr per FTP Client keinen Zugriff mehr drauf habt dieses hat bei mir Funktioniert [code=php] <?php // rec_rmdir - loesche ein Verzeichnis rekursiv // Rueckgabewerte: // 0 - alles ok // -1 - kein Verzeichnis // -2 - Fehler beim Loeschen // -3 - Ein Eintrag eines Verzeichnisses war keine Datei und kein Verzeichnis und // kein Link function rec_rmdir ($path) { // schau' nach, ob das ueberhaupt ein Verzeichnis ist if (!is_dir ($path)) { return -1; } // oeffne das Verzeichnis $dir = @opendir ($path); // Fehler? if (!$dir) { return -2; } // gehe durch das Verzeichnis while ($entry = @readdir($dir)) { // wenn der Eintrag das aktuelle Verzeichnis oder das Elternverzeichnis // ist, ignoriere es if ($entry == '.' || $entry == '..') continue; // wenn der Eintrag ein Verzeichnis ist, dann if (is_dir ($path.'/'.$entry)) { // rufe mich selbst auf $res = rec_rmdir ($path.'/'.$entry); // wenn ein Fehler aufgetreten ist if ($res == -1) { // dies duerfte gar nicht passieren @closedir ($dir); // Verzeichnis schliessen return -2; // normalen Fehler melden } else if ($res == -2) { // Fehler? @closedir ($dir); // Verzeichnis schliessen return -2; // Fehler weitergeben } else if ($res == -3) { // nicht unterstuetzer Dateityp? @closedir ($dir); // Verzeichnis schliessen return -3; // Fehler weitergeben } else if ($res != 0) { // das duerfe auch nicht passieren... @closedir ($dir); // Verzeichnis schliessen return -2; // Fehler zurueck } } else if (is_file ($path.'/'.$entry) || is_link ($path.'/'.$entry)) { // ansonsten loesche diese Datei / diesen Link $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... } } // schliesse nun das Verzeichnis @closedir ($dir); // versuche nun, das Verzeichnis zu loeschen $res = @rmdir ($path); // gab's einen Fehler? if (!$res) { return -2; // melde ihn } // alles ok return 0; } // loesche das Verzeichnis /tmp/test_verzeichnis $res = rec_rmdir ('/tmp/test_verzeichnis'); switch ($res) { case 0: echo'das Verzeichnis wurde korrekt gelöscht'; break; case -1: echo'das war kein Verzeichnis'; break; case -2: echo'ein Fehler ist aufgetreten'; break; case -3: echo'die Funktion ist über einen Dateityp gestolpert, den sie nicht kennt'; break; default: echo'Die Funktion hat irgend etwas zurückgegeben, was sie eigentlich nicht sollte'; break; } ?> [/code] - cHAp - 25.08.2006 Geht aber noch einfacher :-) FTP Programm einloggen und schauen ob versteckte dateien vorhanden sind. Wenn ja. löschen und weg ist es :-) Meist löschen sich die Ordner nicht weil access dateien oder ähnliche darin befinden. - KingGO - 26.08.2006 Meinste Flasch. als Owner wwwrun haste kein Zugriff was der Benutzer angelegt hat (bzw. Script) -> web[xxx]... Ist ja ein anderer Benutzer... man kann aber sowas konfiguriern das wwwrun unter dem web[xxx] benutzer liegt sowas wie root rechte z.b. daher gibts dieses schöne script... - cHAp - 28.08.2006 wwwrun kann man ganz einfach löschen mittels ftp-programm. geht bei 1und1 so, bei meinen server, und andere auch die ich habe ;-) Wüsste nicht wo das problem ist - KingGO - 28.08.2006 dan is das nur bei uns so ^^ kannst ja auch keine chmod rechte verändern mehr :/ - cHAp - 31.08.2006 Klar selbst das kann ich machen - KingGO - 01.09.2006 na egal das trotzdem schönes script wenn man ma ordnung haben will *FG* mit einen klick ist alles weg :lachen: - cHAp - 02.09.2006 Wenn das geht ist es natürlich eine gute sache :-) |