open("backup.zip", ZIPARCHIVE::CREATE) !== TRUE) { die ("Das Archiv konnte nicht erstellt werden!"); } echo "
";
// Gehe durch die Ordner und füge alles dem Archiv hinzu
$iterator = new RecursiveIteratorIterator(new RecursiveDirectoryIterator($folder));
foreach ($iterator as $key=>$value) {
 
  if(!is_dir($key)) { // wenn es kein ordner sondern eine datei ist
    // echo $key . " _ _ _ _Datei wurde übernommen
"; $zip->addFile(realpath($key), $key) or die ("FEHLER: Kann Datei nicht anfuegen: $key"); $fc++; } elseif (count(scandir($key)) <= 2) { // der ordner ist bis auf . und .. leer // echo $key . " _ _ _ _Leerer Ordner wurde übernommen
"; $zip->addEmptyDir(substr($key, -1*strlen($key),strlen($key)-1)); $dc++; } elseif (substr($key, -2)=="/.") { // ordner . $dc++; // nur für den bericht am ende } elseif (substr($key, -3)=="/.."){ // ordner .. // tue nichts } else { // zeige andere ausgelassene Ordner (sollte eigentlich nicht vorkommen) echo $key . "WARNUNG: Der Ordner wurde nicht ins Archiv übernommen.
"; } } echo "
"; // speichert die Zip-Datei $zip->close(); // bericht echo "

Das Archiv wurde erfolgreich erstellt.

"; echo "

Ordner: " . $dc . "
"; echo "Dateien: " . $fc . "

"; ?>