Creare archivi compressi Zip in PHP con ZipArchive

Dalla versione 5.2.2 di PHP è disponibile di default un supporto nativo per gli archivi compressi .zip con l’utilizzo della classe ZipArchive.

 

 

 

creare-archivi-compressi-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
}

Lascia un commento