En sitios como
www.phpclasses.org tienes todo lo necesario para "armar" tu utilidad concreta.
Concretamente:
Para cerar un zip:
http://www.phpclasses.org/browse/package/1900.html
Y para listar un directorio (útil para tomar los nombres de archivos que le pasaras a esa otra función/classe para completar el Zip):
www.php.net/dir
Lo más seguro que esa classe (la que genera el Zip) u otra similar que podrías encontrar en ese sitio te permita indicar un directorio a comprimir.
Un saludo,