Recommend this page to a friend! |
Download .zip |
Info | View files (27) | Download .zip | Reputation | Support forum (8) | Blog | Links |
Last Updated | Ratings | Unique User Downloads | Download Rankings | |||||
2024-01-09 (4 days ago) | Not enough user ratings | Total: 1,396 This week: 2 | All time: 2,790 This week: 204 |
Version | License | PHP version | Categories | |||
zip-stream 2.0.18 | GNU Lesser Genera... | 5.3 | PHP 5, Files and Folders, Compression |
Description | Authors A. Grandt Contributor | ||||||||||||||
This class can be used to create ZIP archives for large number of (large) files. |
|
A pair of PHP classes to generate zip files.
The projects that started these two classes are hosted on PHPClasses.org at the addresses: Zip : http://www.phpclasses.org/package/6110 ZipStream: http://www.phpclasses.org/package/6616
* WARNING: THE CURRENT VERSION OF PHPZip MAY FAIL IF THE SERVER HAS mbstring.func_overload INSTALLED AND ACTIVE! OLDER VERSIONS OF PHPZip WILL FAIL IF THE SERVER HAS mbstring.func_overload INSTALLED AND ACTIVE! EXPERIMENTAL FEATURES HAVE BEEN ADDED TO ALLEVIATE THE LOBOTOMIZATION OF PHP, CAUSED BY mbstring.func_overload *
Note: PHPZip currently uses the 32-bit deflate, and is limited by that. The largest files that can be added are 4GB, and the total size of the archive can't exceed 4GB either.
Zip.php generates the Zip file in memory (or temp file) allowing the parent script to save the final Zip file elsewhere, and/or send it to the user. ZipStream has much of the same features and functions of Zip.php, with a few notable differences, it does not cache and build the zip file on the server, instead it'll send the file to the user as a stream.
See the examples for example usage. The php files have "some" documentation in them in the form of Javadoc style function headers.
NOTE: Please ensure that output buffering is disabled when using especially ZipStream. It defeats the purpose of the class, and large zip files may cause a memory exceeded exception. NOTE2: THe Zip and ZipStream classes support UTF-8 in file paths and file comments, and will autodetect UTF-8 strings to that end, however it is up to the user to ensure that other Multibyte chracter sets aren't sent to the class.
Add this requirement to your composer.json
file:
"phpzip/phpzip": ">=2.0.7"
If you already have Composer installed, skip this part.
Packagist, the main composer repository has a neat and very short guide.
Or you can look at the guide at the Composer site.
The easiest for first time users, is to have the composer installed in the same directory as your composer.json file, though there are better options.
Run this from the command line:
php -r "readfile('https://getcomposer.org/installer');" | php
This will check your PHP installation, and download the composer.phar
, which is the composer binary. This file is not needed on the server though.
Once composer is installed you can create the composer.json
file to import this package.
{
"require": {
"phpzip/phpzip": ">=2.0.7",
"php": ">=5.3.0"
}
}
Followed by telling Composer to install the dependencies.
php composer.phar install
this will download and place all dependencies defined in your composer.json
file in the vendor
directory.
Finally, you include the autoload.php
file in the new vendor
directory.
<?php
require 'vendor/autoload.php';
.
.
.
Files |
File | Role | Description | ||
---|---|---|---|---|
Docs (1 file) | ||||
legacy (10 files) | ||||
src (1 directory) | ||||
tests (2 files) | ||||
composer.json | Data | Version 2.0 for this package. The entire structure have been reworked, and it is now using namespace, meaning that PHP 5.3 is now required as a minimum. See the examples in the legacy folder to see how you can easily migrate to the new structure. Most notable new function added is appendZip, to merge the content of an existing Zip file into the current one without re-compression, using the PHP Zip Merge package, also available here on PHPClasses. | ||
README.md | Doc. | Version 2.0 for this package. The entire structure have been reworked, and it is now using namespace, meaning that PHP 5.3 is now required as a minimum. See the examples in the legacy folder to see how you can easily migrate to the new structure. Most notable new function added is appendZip, to merge the content of an existing Zip file into the current one without re-compression, using the PHP Zip Merge package, also available here on PHPClasses. |
Files | / | legacy |
File | Role | Description |
---|---|---|
bootstrap.php | Example | Version 2.0 for this package. The entire structure have been reworked, and it is now using namespace, meaning that PHP 5.3 is now required as a minimum. See the examples in the legacy folder to see how you can easily migrate to the new structure. Most notable new function added is appendZip, to merge the content of an existing Zip file into the current one without re-compression, using the PHP Zip Merge package, also available here on PHPClasses. |
composer.json | Data | Version 2.0 for this package. The entire structure have been reworked, and it is now using namespace, meaning that PHP 5.3 is now required as a minimum. See the examples in the legacy folder to see how you can easily migrate to the new structure. Most notable new function added is appendZip, to merge the content of an existing Zip file into the current one without re-compression, using the PHP Zip Merge package, also available here on PHPClasses. |
README.txt | Doc. | Version 2.0 for this package. The entire structure have been reworked, and it is now using namespace, meaning that PHP 5.3 is now required as a minimum. See the examples in the legacy folder to see how you can easily migrate to the new structure. Most notable new function added is appendZip, to merge the content of an existing Zip file into the current one without re-compression, using the PHP Zip Merge package, also available here on PHPClasses. |
Zip.ErrorCatch1.php | Example | Version 2.0 for this package. The entire structure have been reworked, and it is now using namespace, meaning that PHP 5.3 is now required as a minimum. See the examples in the legacy folder to see how you can easily migrate to the new structure. Most notable new function added is appendZip, to merge the content of an existing Zip file into the current one without re-compression, using the PHP Zip Merge package, also available here on PHPClasses. |
Zip.Example1.php | Example | Version 2.0 for this package. The entire structure have been reworked, and it is now using namespace, meaning that PHP 5.3 is now required as a minimum. See the examples in the legacy folder to see how you can easily migrate to the new structure. Most notable new function added is appendZip, to merge the content of an existing Zip file into the current one without re-compression, using the PHP Zip Merge package, also available here on PHPClasses. |
Zip.Example2.php | Example | Version 2.0 for this package. The entire structure have been reworked, and it is now using namespace, meaning that PHP 5.3 is now required as a minimum. See the examples in the legacy folder to see how you can easily migrate to the new structure. Most notable new function added is appendZip, to merge the content of an existing Zip file into the current one without re-compression, using the PHP Zip Merge package, also available here on PHPClasses. |
Zip.Example3.php | Example | Version 2.0 for this package. The entire structure have been reworked, and it is now using namespace, meaning that PHP 5.3 is now required as a minimum. See the examples in the legacy folder to see how you can easily migrate to the new structure. Most notable new function added is appendZip, to merge the content of an existing Zip file into the current one without re-compression, using the PHP Zip Merge package, also available here on PHPClasses. |
ZipStream.Example1.php | Example | Version 2.0 for this package. The entire structure have been reworked, and it is now using namespace, meaning that PHP 5.3 is now required as a minimum. See the examples in the legacy folder to see how you can easily migrate to the new structure. Most notable new function added is appendZip, to merge the content of an existing Zip file into the current one without re-compression, using the PHP Zip Merge package, also available here on PHPClasses. |
ZipStream.Example1s.php | Example | Version 2.0 for this package. The entire structure have been reworked, and it is now using namespace, meaning that PHP 5.3 is now required as a minimum. See the examples in the legacy folder to see how you can easily migrate to the new structure. Most notable new function added is appendZip, to merge the content of an existing Zip file into the current one without re-compression, using the PHP Zip Merge package, also available here on PHPClasses. |
ZipStream.Example2.php | Example | Version 2.0 for this package. The entire structure have been reworked, and it is now using namespace, meaning that PHP 5.3 is now required as a minimum. See the examples in the legacy folder to see how you can easily migrate to the new structure. Most notable new function added is appendZip, to merge the content of an existing Zip file into the current one without re-compression, using the PHP Zip Merge package, also available here on PHPClasses. |
Files | / | src | / | Zip | / | Core |
File | Role | Description |
---|---|---|
AbstractException.php | Class | Version 2.0 for this package. The entire structure have been reworked, and it is now using namespace, meaning that PHP 5.3 is now required as a minimum. See the examples in the legacy folder to see how you can easily migrate to the new structure. Most notable new function added is appendZip, to merge the content of an existing Zip file into the current one without re-compression, using the PHP Zip Merge package, also available here on PHPClasses. |
AbstractZipArchive.php | Class | Version 2.0 for this package. The entire structure have been reworked, and it is now using namespace, meaning that PHP 5.3 is now required as a minimum. See the examples in the legacy folder to see how you can easily migrate to the new structure. Most notable new function added is appendZip, to merge the content of an existing Zip file into the current one without re-compression, using the PHP Zip Merge package, also available here on PHPClasses. |
ZipUtils.php | Class | Version 2.0 for this package. The entire structure have been reworked, and it is now using namespace, meaning that PHP 5.3 is now required as a minimum. See the examples in the legacy folder to see how you can easily migrate to the new structure. Most notable new function added is appendZip, to merge the content of an existing Zip file into the current one without re-compression, using the PHP Zip Merge package, also available here on PHPClasses. |
Files | / | src | / | Zip | / | Exception |
File | Role | Description |
---|---|---|
BufferNotEmpty.php | Class | Version 2.0 for this package. The entire structure have been reworked, and it is now using namespace, meaning that PHP 5.3 is now required as a minimum. See the examples in the legacy folder to see how you can easily migrate to the new structure. Most notable new function added is appendZip, to merge the content of an existing Zip file into the current one without re-compression, using the PHP Zip Merge package, also available here on PHPClasses. |
HeaderPositionError.php | Class | Version 2.0 for this package. The entire structure have been reworked, and it is now using namespace, meaning that PHP 5.3 is now required as a minimum. See the examples in the legacy folder to see how you can easily migrate to the new structure. Most notable new function added is appendZip, to merge the content of an existing Zip file into the current one without re-compression, using the PHP Zip Merge package, also available here on PHPClasses. |
HeadersSent.php | Class | Version 2.0 for this package. The entire structure have been reworked, and it is now using namespace, meaning that PHP 5.3 is now required as a minimum. See the examples in the legacy folder to see how you can easily migrate to the new structure. Most notable new function added is appendZip, to merge the content of an existing Zip file into the current one without re-compression, using the PHP Zip Merge package, also available here on PHPClasses. |
IncompatiblePhpVersion.php | Class | Version 2.0 for this package. The entire structure have been reworked, and it is now using namespace, meaning that PHP 5.3 is now required as a minimum. See the examples in the legacy folder to see how you can easily migrate to the new structure. Most notable new function added is appendZip, to merge the content of an existing Zip file into the current one without re-compression, using the PHP Zip Merge package, also available here on PHPClasses. |
InvalidPhpConfiguration.php | Class | Version 2.0 for this package. The entire structure have been reworked, and it is now using namespace, meaning that PHP 5.3 is now required as a minimum. See the examples in the legacy folder to see how you can easily migrate to the new structure. Most notable new function added is appendZip, to merge the content of an existing Zip file into the current one without re-compression, using the PHP Zip Merge package, also available here on PHPClasses. |
LengthMismatch.php | Class | Version 2.0 for this package. The entire structure have been reworked, and it is now using namespace, meaning that PHP 5.3 is now required as a minimum. See the examples in the legacy folder to see how you can easily migrate to the new structure. Most notable new function added is appendZip, to merge the content of an existing Zip file into the current one without re-compression, using the PHP Zip Merge package, also available here on PHPClasses. |
Files | / | src | / | Zip | / | File |
File | Role | Description |
---|---|---|
Zip.php | Class | Version 2.0 for this package. The entire structure have been reworked, and it is now using namespace, meaning that PHP 5.3 is now required as a minimum. See the examples in the legacy folder to see how you can easily migrate to the new structure. Most notable new function added is appendZip, to merge the content of an existing Zip file into the current one without re-compression, using the PHP Zip Merge package, also available here on PHPClasses. |
Files | / | src | / | Zip | / | Listener |
File | Role | Description |
---|---|---|
ZipArchiveListener.php | Class | Version 2.0 for this package. The entire structure have been reworked, and it is now using namespace, meaning that PHP 5.3 is now required as a minimum. See the examples in the legacy folder to see how you can easily migrate to the new structure. Most notable new function added is appendZip, to merge the content of an existing Zip file into the current one without re-compression, using the PHP Zip Merge package, also available here on PHPClasses. |
Files | / | src | / | Zip | / | Stream |
File | Role | Description |
---|---|---|
ZipStream.php | Class | Version 2.0 for this package. The entire structure have been reworked, and it is now using namespace, meaning that PHP 5.3 is now required as a minimum. See the examples in the legacy folder to see how you can easily migrate to the new structure. Most notable new function added is appendZip, to merge the content of an existing Zip file into the current one without re-compression, using the PHP Zip Merge package, also available here on PHPClasses. |
Files | / | tests |
File | Role | Description |
---|---|---|
run functional tests.bat | Data | Auxiliary data |
run unit tests.bat | Data | Auxiliary data |
zip-stream-2024-01-09.zip 76KB | |
zip-stream-2024-01-09.tar.gz | |
Install with Composer |
Needed packages | ||
Class | Download | Why it is needed | Dependency |
---|---|---|---|
PHP Zip Merge | .zip .tar.gz | Used by the appendZip function | Conditional |
Relative Path | .zip .tar.gz | Clean up dynamically builded paths before adding them to the zip file. | Required |
Bin String | .zip .tar.gz | Work around cases where mbstring.func_overload is enabled | Required |
Version Control | Unique User Downloads | Download Rankings | |||||||||||||||
100% |
|
|
Applications that use this package |
www.esplanner.com will be using this class. |
If you know an application of this package, send a message to the author to add a link here.
Related pages |
This project on GitHub |
Optional donations via PayPal. |