Zip a folder and its contents
<?
/*
Zip a folder and its contents
Source: http://andreknieriem.de/ordner-rekursiv-mit-php-zu-einer-zip-datei-packen/
*/
// die maximale Ausführzeit erhöhen
ini_set("max_execution_time", 300);
// Objekt erstellen und schauen, ob der Server zippen kann
$zip = new ZipArchive();
if ($zip->open("backup.zip", ZIPARCHIVE::CREATE) !== TRUE) {
die ("Could not open archive");
}
// Gehe durch die Ordner und füge alles dem Archiv hinzu
$iterator = new RecursiveIteratorIterator(new RecursiveDirectoryIterator("folder/"));
foreach ($iterator as $key=>$value) {
$zip->addFile(realpath($key), $key) or die ("ERROR: Could not add file: $key");
}
// speicher die Zip-Datei
$zip->close();
echo "Archive erfolgreich erstellt.";
?>