If you want to zip directories you can do this:
<?php
exec("zip -r dirtozip zippeddir");
?>
Put that in a file called "zip.php" and then put it above the directory you want to zip, it should zip it up into a zip file called zippeddir.zip above the dir you zipped.
why dont you download it, zip it, then upload it back?