Dalla versione 5.2.2 di PHP è disponibile di default un supporto nativo per gli archivi compressi .zip con l’utilizzo della classe ZipArchive.
Vediamo come è possibile creare archivi compressi .zip in PHP usando la classe ZipArchive con pochissime righe di codice. Nell’esempio creiamo un archivio compresso di tutti i file presenti all ‘ interno di una cartella della quale specifichiamo il percorso:
$dir="my_dir/"; $files=array(); if ($handle = opendir($dir)) { while (false !== ($entry = readdir($handle))) { if($entry!="." && $entry!=".." ) { $files[]=basename($entry); } } closedir($handle); } $zipname = 'my.zip'; $zip = new ZipArchive(); //Creazione zip file $zip->open($zipname, ZIPARCHIVE::CREATE); if(count($files)>0) { foreach ($files as $file) { //aggiungo il file allo zip $zip->addFile($file,$file); } $zip->close(); //Chiudo }