Ordner und Dateien mittels PHP löschen
Es kann immer wieder einmal vorkommen, dass Dateien oder Ordner mittels FTP-Verbindung nicht gelöscht werden kann.
Es kann immer wieder einmal vorkommen, dass Dateien oder Ordner mittels FTP-Verbindung nicht gelöscht werden kann. Die Ursache hierbei ist, das die Rechte vom Server vergeben wurden sind und somit FTP-Benutzern keinen Zugriff gewährt wird.
Wenn man über keinen SSH-Zugang für seinen Webspace verfügt, kann man sich unter Zuhilfenahme von PHP die überflüssigen Ordnern und Dateien auf dem Server löschen.
Dies geschieht mit einer einfachen PHP-Funktion:
<?php
/**
* Loescht Dateien und Ordner innerhalb eines Ordners
*
* @param string $file Pfad zum Ordner, welcher geloescht werden soll
* @return nix
*/
function DeleteFolderFiles($file) {
// Dateiberechtigung auf Vollzugriff stellen
chmod($file,0777);
// Pruefen ob es ein Ordner ist
if (is_dir($file)) {
// Resource oeffnen
$resource = opendir($file);
// Rekursiv durch den Ordner durchgehen
while($filename = readdir($resource)) {
// uebergeordnete, welche zur Navigation dienen, werden ignoriert
if ($filename != "." && $filename != "..") {
// Datei innerhalb des Ordners loeschen
DeleteFolderFiles($file."/".$filename);
}
}
// Resource schliessen
closedir($resource);
// Ordner loeschen
rmdir($file);
} else {
// Wenn es sich nicht um einen Ordner handelt -> Datei loeschen
unlink($file);
}
}
// Funktion ausfueren
// Hierbei wird am besten der absolute Pfad des zu loeschenden Ordners angegeben
DeleteFolderFiles($_SERVER["DOCUMENT_ROOT"] . "/zu/loeschender/ordner");
?>
Am Ende der Funktion wird noch der absolute Pfad zum Ordner angegeben welcher gelöscht wurden soll. Der Quelltext wird in eine Datei mit der Endung .php verpackt und auf den Server, mittels FTP, hochgeladen. Schließlich wird die Datei ausgeführt und alles ist wieder prima Smiley.