A ver si te sirve:
/* CREA UN ARCHIVO COMPRIMIDO */
//"Funciones de Secuencias" en manual de php
$file = "archivo.txt";
$archivo = file_get_contents($file);
$result = explode(".", $file);
$da = fopen("compress.zlib://".$file.".gz", "wb");
if (!$da){echo "Error.";}else{echo "OK!!.";}
fwrite($da, $archivo);
fclose($da);
//debes crear en el mismo directorio un "archivo.txt" que se comprimira
Mira, si comprime no lo se, pero si que crea un rar con el txt dentro
Aqui se uso fopen()
Mira el manual (usando funciones rar):
http://php.net/manual/es/book.rar.php
Bueno pides un zip, es casi lo mismo.
Saludos...!