Just to expand when I'm not using an iPod...
SMF has a zip handling library, except it doesn't work on some zip files, Plus it's also about just unpacking the entire archive in full into a local directory which is not what I want.
ZipArchive (in either form) tends to do much the same thing, though both are more capable of handling zip files.
What I need, ultimately, is something that can handle as much of zip files as I can throw at it, and on top of that, I need it to be able to handle extracting files one at a time - and here's the bit that ZipArchive can't do - and I want that file to be pulled into a variable, I do NOT want it pushed out to a file in temp/ not even temporarily.
See, here's how this is going to work. The setup is geared for being able to process this across multiple page loads, so I need to be able to pull things from zip files at will, and I want as little as possible to be in the temporary area. Since the upload must go there by definition, I can't change that, but I can prevent new files appearing in temp, which will be subject to pruning by the operating system and will be subject potentially to tampering from other scripts.
Once I've uploaded the file, I can extract it piece by piece and send that to the server via FTP (and as I understand it, can make this faster by only opening one pair of connections rather than the typical one connection the whole time, one connection per file, but I might have that understanding of FTP wrong)
Hmm. Now that I think about it, actually I can't do it that way. I'm going to ditch the current SFTP class and reimport phpseclib - into its own folder. Condensing the files is rather time consuming and there's been substantial changes since I did it a year ago, so I'll just import the entire library as-is.
I won't be doing that with the PclZip class, because it isn't forwards compatible with PHP 5.x, but also it isn't 'actively maintained', as the last release was in 2009. (Also, of note, the author of PclZip was the former maintainer of the PEAR ZipArchive)