ZipStream is a library for dynamically streaming dynamic zip files from PHP without writing to the disk at all on the server.

v0.4.1 2016-09-13 10:29 UTC


Build Status Scrutinizer Code Quality Code Coverage

Please see the file for licensing and warranty information. The latest version of this software is available at the following URL:


Simply add a dependency on maennchen/zipstream-php to your project's composer.json file if you use Composer to manage the dependencies of your project. Here is a minimal example of a composer.json file.

    "require": {
        "maennchen/zipstream-php": "^0.4.1"


A fast and simple streaming zip file downloader for PHP. Here's a simple example:

# Autoload the dependencies
require 'vendor/autoload.php';

# create a new zipstream object
$zip = new ZipStream\ZipStream('');

# create a file named 'hello.txt' 
$zip->addFile('hello.txt', 'This is the contents of hello.txt');

# add a file named 'some_image.jpg' from a local file 'path/to/image.jpg'
$zip->addFileFromPath('some_image.jpg', 'path/to/image.jpg');

# add a file named 'goodbye.txt' from an open stream resource
$fp = tmpfile();
fwrite($fp, 'The quick brown fox jumped over the lazy dog.');
$zip->addFileFromStream('goodbye.txt', $fp);

# finish the zip stream

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:


  • PHP version 5.6 or newer.


Please take a look at the File.

About the Authors