Rework the way IDF's SCM interface provides downloadable snapshots.
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!
This commit is contained in:
42
contrib/zipstream-php-0.2.2/README
Normal file
42
contrib/zipstream-php-0.2.2/README
Normal file
@@ -0,0 +1,42 @@
|
||||
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/
|
Reference in New Issue
Block a user