Hola,
Es una clase que bajé de phpclasses, AlfaZoneSoft Zip Lib.
Lo único que hago es llamar a la función principal que comprime y descarga el archivo. Tiene que deberse a error de memoria sí o sí, pero no sé porqué cuando uso el htaccess para ampliarla da error 500. Cuando inicio la variable con ini_set, también me lo devuelve. Y si toco el php.ini también. No sé qué pasa, pero si el archivo comprimido final pesa 10 MB (por ejemplo) lo descarga sin problemas. Pero cuando es tocho (200 MB) se jode...