pepebe
11/11/2014 - 10:47 AM

Zip a folder and its contents

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.";
?>