Strict Standards: Assigning the return value of new by reference is deprecated in /var/www/tp/wp-settings.php on line 229

Strict Standards: Assigning the return value of new by reference is deprecated in /var/www/tp/wp-settings.php on line 231

Strict Standards: Assigning the return value of new by reference is deprecated in /var/www/tp/wp-settings.php on line 232

Strict Standards: Assigning the return value of new by reference is deprecated in /var/www/tp/wp-settings.php on line 249
webcreate IT SOLUTIONS Blog » Rekursives löschen von Verzeichnissen

Rekursives löschen von Verzeichnissen

Mit dem folgenden Script kann man Verzeichnisse und ihre Inhalte rekursiv löschen lassem

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
<?php
// Rekursives löschen von Verzeichnissen.
function clr_dir($dir) {
   if(@ ! $opendir = opendir($dir)) {
       return false;
   }
   while(false !== ($readdir = readdir($opendir))) {
	   //wenn es nicht die root-Ebene ist gehe weiter
       if($readdir !== '..' && $readdir !== '.') {
		   //Lösche unnötige Leerzeichen
           $readdir = trim($readdir);
		   //Wenn es eine Datei ist
           if(is_file($dir.'/'.$readdir)) {
			   //Lösche sie, sonst steige neu ein als false
               if(@ ! unlink($dir.'/'.$readdir)) {
                   return false;
               }
           } 
		   //Wenn es ein Verzeichniss ist
		   elseif(is_dir($dir.'/'.$readdir)) {
			   // Rufe die Funktion rekursiv mit false auf
               if(! clr_dir($dir.'/'.$readdir)) {
                   return false;
               }
           }
       }
   }
   //Schliesse das Verzeichnis
   closedir($opendir);
   // Lösche das Verzeichnis
   if(@ ! rmdir($dir)) {
	   //Wenn löschen nicht möglich,steige neu ein als false
       return false;
   }
   // Ausstieg aus der Funktion als true
   return true;
}
 
// Funktionsaufruf mit Angabe des rek. zu löschendem Verzeichnisses
clr_dir('verzeichnisname');
?>

No comments yet.

Write a comment: