Hin und wieder hat man einen Ordner mit zig verschiedenen Dateien am Server, den man per PHP löschen möchte oder muss. Dies kann man relativ einfach mit wenigen Zeilen PHP und einer while Schleife erledigen. Wichtig dabei sind die 3 PHP Befehle opendir (öffnet ein Verzeichnis zur weiteren Verarbeitung), readdir (liest die Dateien aus) und unlink (löscht eine Datei). Hier nun das komplette Script:

//Ordnername festlegen in dem die zu löschenden Files liegen
$ordnername = "mein/ordnername/";
//überprüfen ob das Verzeichnis überhaupt existiert
if (is_dir($ordnername)) {
//Ordner öffnen zur weiteren Bearbeitung
if ($dh = opendir($ordnername)) {
//Schleife, bis alle Files im Verzeichnis ausgelesen wurden
while (($file = readdir($dh)) !== false) {
//Oft werden auch die Standardordner . und .. ausgelesen, diese sollen ignoriert werden
if ($file!="." AND $file !="..") {
//Files vom Server entfernen
unlink("mein/ordnername/$file");
}
}
//geöffnetes Verzeichnis wieder schließen
closedir($dh);
}
}

Oder schöner gleich als Funktion verpackt

function deleteFilesFromDirectory($ordnername){
//überprüfen ob das Verzeichnis überhaupt existiert
if (is_dir($ordnername)) {
//Ordner öffnen zur weiteren Bearbeitung
if ($dh = opendir($ordnername)) {
//Schleife, bis alle Files im Verzeichnis ausgelesen wurden
while (($file = readdir($dh)) !== false) {
//Oft werden auch die Standardordner . und .. ausgelesen, diese sollen ignoriert werden
if ($file!="." AND $file !="..") {
//Files vom Server entfernen
unlink("".$ordnername."".$file."");
}
}
//geöffnetes Verzeichnis wieder schließen
closedir($dh);
}
}
}

//Funktionsaufruf - Directory immer mit endendem / angeben
deleteFilesFromDirectory("mein/ordnername/");
  1. uwe367Uwe schreibt:

    Klappt soweit ganz gut, Danke:)
    Jedoch ist nicht jeder Server gleich konfiguriert und so wäre es sicher angebracht das Script anzuweisen die zu löschenden Dateien auf CHMOD 777 zu setzen damit sie gelöscht werden können.
    Wäre es möcglch das Script dahingehend zu erweitern?
    Gruss Uwe

Sag was zu uwe367Uwe Kommentar abbrechen

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert

<a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <s> <strike> <strong>