Si ves el manual es bastante claro, pero de todos modos te dejo este ejemplo:
Código PHP:
<?php
$zip = new ZipArchive;
if ($zip->open('test.zip') === TRUE) {
$zip->addFile('/path/to/index.txt', 'newname.txt');
$zip->close();
echo 'ok';
} else {
echo 'failed';
}
?>
Solo seria que agregaras tu el código para abrir una carpeta y ciclar por todo el contenido de la carpeta para ir agregando los archivos.
Saludos.