Teil von  SELFPHP
Professional CronJob-Service

Suche

:: Anbieterverzeichnis ::

Globale Branchen

Informieren Sie sich über ausgewählte Unternehmen im Anbieterverzeichnis von SELFPHP  

 

:: SELFPHP Forum ::

Fragen rund um die Themen PHP?
In über 130.000 Beiträgen finden Sie sicher die passende Antwort!  

 

:: Newsletter ::

Abonnieren Sie hier den kostenlosen SELFPHP Newsletter!

Vorname: 
Name:
E-Mail:
 
 
 
Verzeichnis rekursiv löschen

Am Ende der Seite finden Sie das komplette Beispiel als Download.

Systemvoraussetzung

  • Linux
  • PHP 3
  • PHP 4
  • PHP 5

Datei(en)

deleteShellFolder.php

Problem


Im vorangegangenen Beispiel haben Sie gesehen, wie ein komplettes Verzeichnis inkl. Unterverzeichnissen kopiert wurde. Jetzt fehlt uns noch das Gegenstück, also ein Verzeichnis inkl. aller Unterverzeichnisse zu löschen.


Lösung

Wir werden bei diesem Beispiel wieder direkt mit der Shell arbeiten, da auch hier dieser Vorgang sehr schnell arbeiten wird und der Sourcecode wie im vorangegangenen Beispiel kurz ist.

function deleteShellFolder($source)
   @param   string   $source
   @return   mixed

Die Funktion deleteShellFolder() erwartet als einzigen Parameter das zu löschende Verzeichnis ($source). Im ersten Schritt überprüfen wir (34), ob es sich bei dem übergebenen und zu löschenden Verzeichnis um ein existentes Verzeichnis handelt. Falls es das Verzeichnis nicht geben sollte, brechen wir an dieser Stelle die Funktion ab und geben als Rückgabewert „FALSE“ zurück (35).

Sollte das Verzeichnis existieren, bauen wir den String für unseren Löschvorgang zusammen (37). Der String für unseren Kopiervorgang baut sich wie folgt auf.

  • rm Der Löschbefehl
  • -R Rekursiv löschen, also auch Unterverzeichnisse
  • -v Ausgabe erzeugen, zeigt den Löschvorgang in einem Array an
  • $source Quellverzeichnis

Nachdem wir den String zusammengesetzt haben, können wir im nächsten Schritt den Befehl ausführen (39) und erhalten, falls wir den Schalter „v“ angegeben haben, als Rückgabe (41) ein Array mit den gelöschten Dateien und Verzeichnissen.

32:
33:
34:
35:
36:
37:
38:
39:
40:
41:
42:
43:
function deleteShellFolder($source){

    if (!
is_dir($source))
        return 
false
        
    
$shellBefehl "rm -Rv $source";

    
exec($shellBefehl,$var);
    
    return 
$var;
    
}
Beispiel 11.3: deleteShellFolder.php

Sie müssen hier lediglich das zu löschende Verzeichnis angeben (45), um dann im späteren Schritt die Funktion ausführen (47) zu können. Als Rückgabewert erhalten Sie (Schalter „v“) ein Array mit den gelöschten Dateien und Verzeichnissen.

45:
46:
47:
48:
49:
$source 'backup4/';

$var deleteShellFolder($source);

print_r($var);    
Beispiel 11.4: deleteShellFolder.php

Ausgabe im Browser

Array
(
      [0] => removing all entries of directory ’backup4’
      [1] => removing ’backup4/9levuh_1137603141.jpg’
      [2] => removing ’backup4/bs9tyo_1137603275.jpg’
      [3] => removing ’backup4/fihedp_1137603349.jpg’
      [4] => removing ’backup4/che.gif’
      [5] => removing ’backup4/logo.gif’
      [6] => removing ’backup4/u_blau.gif’
      [7] => removing all entries of directory ’backup4/.jpg’
      [8] => removing the directory itself: ’backup4/.jpg’
      [9] => removing all entries of directory ’backup4/gif’
      [10] => removing ’backup4/gif/Testdatei1.txt’
      [11] => removing ’backup4/gif/Testdatei2.txt’
      [12] => removing the directory itself: ’backup4/gif’
      [13] => removing all entries of directory ’backup4/jpg’
      [14] => removing ’backup4/jpg/Testdatei1.txt’
      [15] => removing the directory itself: ’backup4/jpg’
      [16] => removing all entries of directory ’backup4/pdf’
      [17] => removing the directory itself: ’backup4/pdf’
      [18] => removing ’backup4/glob1.php’
      [19] => removing ’backup4/glob2.php’
      [20] => removing the directory itself: ’backup4’
)


 


Dieses Skript aus dem SELFPHP KOCHBUCH wurde von SELFPHP unter dem "Tarif Mc500" von McAc.net-Webhosting erfolgreich ausgeführt und getestet!

Auf der Übersichtseite unter "McAc.net – Webhosting zu diesem Buch" finden Sie weitere Informationen zu dem Webhostingpaket, dass durch SELFPHP getestet wurde.




 

Download

Info   ZIP BZIP2 TARGZ
Größe   734.00 Byte 843.00 Byte 793.00 Byte

Alle Beispiele als PHP-Datei(en)

Hier haben Sie die Möglichkeit, sich sämtliche auf dieser Seite gezeigten Beispiele als PHP-Dateien direkt downzuloaden.

Umständliches Copy & Paste ist daher nicht mehr notwendig, da alle Beispiele sofort ausprobiert werden können.

Sie haben bei der Auswahl der bereitgestellten Downloads mehrere Möglichkeiten, je nachdem welches Komprimierungsverfahren Sie bevorzugen.

Zurück zur Übersichtsseite


 




:: Premium-Partner ::

Webhosting/Serverlösungen

PSW GROUP GmbH & Co. KG weitere Premium-Partner
 

:: SELFPHP Sponsor ::

Microsoft Deutschland GmbH weitere Sponsoren
 


:: Buchempfehlung ::

TYPO3 Kochbuch

TYPO3 Kochbuch zur Buchempfehlung
 

:: Anbieterverzeichnis ::

Webhosting/Serverlösungen

Suchen Sie den für Sie passenden IT-Dienstleister für Ihr Webhosting-Paket oder Ihre Serverlösung?

Sie sind nur ein paar Klicks davon entfernt!


 

Ausgewählter Tipp im Bereich PHP-Skripte


Checkboxen-Verwaltung mittels Binärwerten

Weitere interessante Beispiele aus dem SELFPHP Kochbuch finden Sie im Bereich PHP-Skripte
 

SELFPHP Code Snippet


Aktuelles Datum in einem Kalender hervorheben (CSS-Layout)

Weitere interessante Code Snippets finden Sie auf SELFPHP im Bereich PHP Code Snippets
 
© 2001-2024 E-Mail SELFPHP Inh. Damir Enseleit, info@selfphp.deImpressumKontakt
© 2005-2024 E-Mail PHP5 Praxisbuch - Matthias Kannengiesser, m.kannengiesser@selfphp.de