25. Januar 2008
Nicht löschbare Dateien und Verzeichnisse auf dem FTP Server
Wer kennt das nicht. Man hat Dateien sowie ein PHP Script auf seinen FTP Server hochgeladen und dieses PHP Script erzeugt neue Dateien. Irgendwann möchte man die vom Script erstellten Dateien wieder löschen, um Platz zu schaffen. Aber dies funktioniert nicht. Hier eine mögliche Lösung.
Obwohl ich den nicht löschbaren Dateien oder Verzeichnissen die CHMOD Rechte auf 777 gesetzt habe, konnte ich trotzdem diese Dateien nicht löschen. Ich verstand nicht warum. Im Internet habe ich von Laserpointa dann erfahren, dass ich gar nicht die Recht e besitze, diese Datei zu verändern. Der Grund ist, dass die Dateien vom Server, die also eigentlich vom Server Admin erstellt wurden auch diese nur wieder vom Server Admin gelöscht werden können. „Mhh, nagut“, dachte ich mir. Schreibe ich einmal meinem Webspace Provider Netpublics eine Email und bitte sie, die Löschung zu tätigen. Was ist jedoch, wenn das öfter passiert, was in meinem Fall auch so war. Ich kann doch nicht ständig den Support mit demselben Problem anschreiben. Außerdem dauert es auch etwas, bis die Löschung durchgeführt wurde.
Die Lösung:
Da Dateien und Verzeichnisse durch ein PHP Script oder Programm erstellt wurden, muss daher auch ein Script wieder her, dass diese wieder löscht. Der nachfolgende Code erledigt bei mir gute Arbeit. Zwar gibt das kleine Script manchmal bei mir einen Fehler aus, bei Freunden funktioniert es jedoch einwandfrei. Das wichtigste ist jedoch, dass es trotz Fehler funktioniert und alle Dateien wieder die rechte erhalten, dass ich diese selber löschen kann.
Code:
function delete($file) {
chmod($file,0777);
if (is_dir($file)) {
$handle = opendir($file);
while($filename = readdir($handle)) {
if ($filename != “.” && $filename != “..”) {
delete($file.”/”.$filename);
}
}
closedir($handle);
rmdir($file);
} else {
unlink($file);
}
}
delete(”_DELETE_”);
?>
Den Code einfach im Editor einfügen und als .php Datei abspeichern. Es darf kein MS Word oder ähnliche Textverarbeitungsprogramme verwendet werden, weil diese noch etliche Formatierungen mit in den Code einfügen. Wer möchte kann sich die fertige Datei hier im Zip Archiv herunterladen: unlöschbare Dateien und Verzeichnisse löschen .
Verwendung
In der vorletzten Zeile bei delete(„_DELETE_“); muss _DELETE_ gegen das zu löschende Verzeichnis geändert werden. Anschließend muss diese Änderung abgespeichert werden und auf den FTP Server hochgeladen werden. Zu beachten ist jedoch, dass die Datei eine Ebene vor das zu löschenden Verzeichnis hochgeladen werden muss. Wenn also der Ordner „Fische“ im Ordner „Tiere“ ist, muss die Datei nicht im Ordner „Fische“ sondern „Tiere“ abgelegt werden. Anschließend diese Datei im Browser aufrufen und schon wurde der Wunschordner mit den neuen Zugriffsrechten versehen.
8 Reaktionen zu: Nicht löschbare Dateien und Verzeichnisse auf dem FTP Server
-
Paul - 27. Januar 2008, 16:12 Uhr
Ich habe das Problem immer mit FileZilla. Mit FlashXP (leider nur Testversion, läuft bald aus) bekomme ich alles gelöscht, was sich innerhalb meiner Ordner befindet in meinem Webspace.
-
Damian - 27. Januar 2008, 18:43 Uhr
In diesem Fall muss es eigentlich am FTP Programm selber liegen. Denn an den Zugriffsrechten einer Datei auf dem Server kann ein Programm auch nichts tun, wenn die Schreibrechte nur beim Root Admin liegen.
-
Anais Mura - 13. Februar 2008, 11:55 Uhr
Echt Klasse! Hat sofort funktioniert! Die Beschreibung ist einfach und nachvollziehbar. Vielen, vielen Dank für diesen Kunstgriff!
Gruß
Anais -
Zumina - 23. Mai 2008, 20:40 Uhr
Danke, hat wirklich geholfen meine Dschungel aus Script erstellten Verzeichnissen zu löschen

-
indo301 - 31. Juli 2008, 13:12 Uhr
TOP script. danke! =)
-
Blade - 5. Oktober 2008, 21:46 Uhr
Super Sache, hat 1A funktioniert! THX
-
Ecki - 6. Januar 2009, 11:08 Uhr
Hey Super,
hat auch bei funktioniert! -
Donjay - 1. April 2009, 16:42 Uhr
Danke für die Anleitung und das Skript. Hat super funktioniert!


