fe001abd26
Instead of returning a command which gets executed and which should pass through / stream its output data to the client, we're just returning an instance of Pluf_HTTP_Response. This is needed, because some SCMs, most noticable monotone, have no locally executable command to provide a snapshot archive (and probably never will for our kind of setup). We therefor added a little BSD-licensed class "ZipArchive" which allows the creation of pkzip-compatible archives on the fly by letting it eat the file contents directly feed from the (remote) stdio instance. Download performance is ok and lies between 15K/s and 110K/s, but at least we do no longer block the browser while we pre-generate the zip file server-side. Thanks to Patrick Georgi for all his work! |
||
---|---|---|
.. | ||
extras | ||
test | ||
COPYING | ||
README | ||
zipstream.php |
ZipStream 0.2.2 README ====================== Please see the file COPYING for licensing and warranty information. The latest version of this software is available at the following URL: http://pablotron.org/software/zipstream-php/ Overview ======== A fast and simple streaming zip file downloader for PHP. Here's a simple example: # create a new zipstream object $zip = new ZipStream('example.zip'); # create a file named 'hello.txt' $zip->add_file('some_image.jpg', 'This is the contents of hello.txt'); # add a file named 'image.jpg' from a local file 'path/to/image.jpg' $zip->add_file_from_path('some_image.jpg', 'path/to/image.jpg'); # finish the zip stream $zip->finish(); You can also add comments, modify file timestamps, and customize (or disable) the HTTP headers. See the class file for details. There are a couple of additional examples in the initial release announcement at the following URL: http://pablotron.org/?cid=1535 Requirements ============ * PHP version 5.1.2 or newer (specifically, the hash_init and hash_file functions). About the Author ================ Paul Duncan <pabs@pablotron.org> http://pablotron.org/