A seguinte livraria lhe permite criar arquivos comprimidos usando o PHP.
Este script irá gerar o arquivo dinamicamente usando os arquivos especificados com zl_add_file e retorná-los ao navegador (o arquivo comprimido final será nomeado: testfile.zip).
As opções:
zl_add_file te permite especificar o nível de compressão do arquivo que será comprimido.
* n (nenhum)
* b (bzip)
* g (gzip)
include('ziplib.php');
$zipfile = new Ziplib;
zl_add_file('This is a test file','path/to/file','g9');
//You can stream the ZIP file or write it in a file on your server
header('Content-type: application/zip');
header('Content-Disposition: attachment; filename=\'testfile.zip\'');
echo $zipfile->zl_pack('zip file comments');
Download
Os arquivos inclusoso no exemplo podem ser baixados aqui
Fonte: http://www.rawseo.com/news/2009/06/17/how-to-create-a-zip-archive-using-php/