Все просто, можно использовать класс zipfile, который использует phpMyAdmin.
Выглядит это примерно так:
require_once("zip.lib.php");
$zip = new zipfile();
$zip->addFile($some_text, 'file.txt');
$handle = fopen("file.zip","w");
fwrite($handle,$zip->file());
fclose($handle);
?>
Все, в текущей директории файл file.txt будет упакован в file.zip. Код будет работать и в php4, и в php5. В php должна быть включена поддержка zlib.