Una vez creado el .zip, en vez de generar contenido HTML con echo o print() como siempre, tienes que enviar un 'header' más o menos así:
Código PHP:
Ver originalheader("Content-type: application/zip"); header("Content-Disposition: attachment; filename=$nombre_archivo");
Saludos