Zipar Arquivo com PHP

[PHP]
function zipFiles($file_names, $archive_file_name, $file_path){

//cria objeto zip
$zip = new ZipArchive();
//Cria o Arquivo Zip
if ($zip->open($archive_file_name, ZIPARCHIVE::CREATE )!==TRUE) {
exit(“cannot open \n”);
}

//Adiciona arquivos no Arquivo Zip
foreach($file_names as $files){
$zip->addFile($file_path.$files,$files);
}
//Fecha o Zip
$zip->close();

}
[/PHP]

A definição dos parâmetros são:

$file_names : Nomes dos arquivos a serem zipados em um array.
Por exemplo, array(‘file1.jpg’, ‘file2.php’, ‘file3.gif’);
$arquive_file_name : Nome do arquivo de saída. Por exemplo, zip_file.zip
$file_path : Diretório onde estão os arquivos de origem e onde será adicionado o arquivo zip.

Para criar o arquivo zip em um diretório diferente basta criar um novo parâmetro com o diretório de destino do zip.

Fonte: www.rafaeltheodoro.com.br