I'm not sure I follow you here.
Why are you backing up using PHP? You shouldn't need to backup the site files at all anyways since they are actually static. All you need is the dbms to be backed up (or the files if your persistent storage is filesystem), but in either case you should *not* use PHP for this task. PHP is far far too slow to perform this type of maintenance; use the dbms' native filesystem dump tools. Dump it to filesystem and let your standard filesystem backup process sweep it up with the site files. Done and done.
Although if you have agents capable of supporting the dbms, that would be better to use to avoid any type of heavy locking. That assumes you do have a backup solution currently in use.
As for archiving, use gzip if you have it. It is a compression only type, so you'll need to tarball it first (giving you a .tar.gz), but it is superior to the zip. That assumes you're on a linux machine of course, otherwise use zip.
header('HTTP/1.1 420 Enhance Your Calm');