So from what I can find, there is gzip and rar compression built into PHP, but not tar. Although tar is simple enough, the only library I could find is standard GPL, which is no good to me.
I could use commandline tools, but that sounds like trouble/exploits waiting to happen.
I don't think it's a big enough deal, really. Most Linux systems come with a zip utility (infozip, I think?). Of course, if there's a way to convert a tgz to a zip on the fly, then I could just do that on the server end into a temp file, if the right programs are available.