zippecl.php.netA zip management extensionZip is an extension to create, modify and read zip files.Pierre-Alain Joyepajoyepajoye@php.netyesRemi Colletremiremi@php.netyes2019-09-091.15.52.4.0stablestablePHP 3.01
- Fix build with PHP 7.4
- Remove dead code
- Replace deprecated libzip functions
4.3.01.7.0zip2018-10-031.15.42.4.0stablestablePHP 3.01
- Fixed Bug #76524 ZipArchive memory leak (OVERWRITE flag and empty archive)
- Fixed incorrrecr zval_dtor() usage to replace value of argument passed by reference, that may lead to memory leaks.
2018-06-121.15.32.4.0stablestablePHP 3.01
- Add OPSYS_CPM constant as documented
- Fix build with PHP 7.3
2017-12-191.15.22.4.0stablestablePHP 3.01
- fix bug #75540 Segfault with libzip 1.3.1 (double free)
- display headers (buildtime) and library (runtime) versions in phpinfo (libzip >= 1.3.1)
2017-07-111.15.12.4.0stablestablePHP 3.01
- fix segfault in php_stream_context_get_option call
2017-07-101.15.02.4.0stablestablePHP 3.01
- ZipArchive implements Countable, added ZipArchive::count() method
2017-04-051.14.02.3.0stablestablePHP 3.01
- Fix #70103: ZipArchive::addGlob ignores remove_all_path option (cmb)
- add ZipArchive::setEncryptionName and ZipArchive::setEncryptionIndex
methods available with libzip >= 1.2.0 (Remi)
- add encryption_method in statIndex/statName returned array (Remi)
- allow to set password in stream wrapper using context (Remi)
- Fix #73803: Reflection of ZipArchive does not show public properties (Remi)
- support for system libzip on Windows (Anatol)
- drop bundled libzip, only support system library (Remi)
2016-10-141.13.52.2.0stablestablePHP 3.01
- Fixed bug #72660 (NULL Pointer dereference in zend_virtual_cwd). (Laruence)
- Fixed bug #68302 (impossible to compile php with zip support). (cmb)
- Fixed bug #70752 (Depacking with wrong password leaves 0 length files). (cmb)
2016-07-211.13.42.2.0stablestablePHP 3.01
- Fixed bug #72520 (Stack-based buffer overflow vulnerability in php_stream_zip_opener). (Stas)
2016-06-231.13.32.2.0stablestablePHP 3.01
- Fixed bug #71923 (integer overflow in ZipArchive::getFrom*). (CVE-2016-3078) (Stas)
- Fixed bug #72258 (ZipArchive converts filenames to unrecoverable form). (Anatol)
- Fixed bug #72434 (ZipArchive class Use After Free Vulnerability in PHP's GC algorithm and unserialize). (CVE-2016-5773) (Dmitry)
2016-03-011.13.22.2.0stablestablePHP 3.01
- Update bundled libzip to 1.1.2 (Remi, Anatol)
- Fixed bug #71561 (NULL pointer dereference in Zip::ExtractTo) (Stas)
- Format string fixes (Nikic)
- Remove TSRMLS_* from code, they are not used anymore (Stas)
- Fixed incorrect usage of HASH_OF() macro. (Dmitry)
2015-09-091.13.12.2.0stablestablePHP 3.01
- fix pecl installaton
2015-09-071.13.02.2.0stablestablePHP 3.01
- update bundled libzip to 1.0.1 (Remi, Anatol)
- new methods for ZipArchive:
setCompressionName, setCompressionIndex (Cedric Delmas)
- allow to build with PHP 7
- Fixed bug #70350 (ZipArchive::extractTo allows for directory traversal
when creating directories). (neal at fb dot com)
- Fixed bug #70322 (ZipArchive::close() doesn't indicate errors). (cmb)
2015-04-151.12.52.1.0stablestablePHP 3.01
- add OPSYS_Z_CPM missing constant
- Fixed bug #69253 (ZIP Integer Overflow leads to writing past heap boundary). (CVE-2015-2331) (Stas)
2014-01-291.12.42.1.0stablestablePHP License
- bundled libzip version 0.11.2
- new methods for ZipArchive:
setExternalAttributesName, setExternalAttributesIndex,
getExternalAttributesName, getExternalAttributesIndex
2013-12-121.12.32.1.0stablestablePHP License
- clean all uses of private libzip structure
- allow to build in php tree
2013-10-231.12.22.1.0betastablePHP License
- fix build with PHP 5.3
- add --with-libzip configure option to use system libzip
- move check before dereferencing ptr (Felipe)
- add LICENSE and LICENSE_libzip
- fix bug #64342 ZipArchive::addFile() has to check file existance
2013-04-291.12.12.1.0betastablePHP License
- fix build on some linux
- fix zip_set_file_compression
2013-04-011.12.02.1.0betastablePHP License
- Added setPassword method, support for crypted archives
. uncompress only
. AES and ZipCrypto
- fix VC9 builds (using bundled stdint)
- fix preprocessor bug for ZipArchive::close method being renamed to
_close on Windows
2013-04-011.11.02.1.0betastablePHP License
- Added Zip64 support (large file support)
- Added UTF-8 support for file names, file comments, and archive comments
- Added zip_discard()
- Added ZIP_TRUNCATE for zip_open()
- Added zip_set_file_compression()
1.10.22.0.0stablestable2009-08-11PHP License
- #49072, feof never returns true for damaged file in zip
- Fix possible crash when zip stream are used, the file entry stream was desroyed after the archive.
1.10.12.0.0stablestable2009-07-20PHP License
- #48763, ZipArchive produces corrupted archive (dani dot church at gmail dot com)
- Fixed regression in the overwrite mode
- Fixed binary mode with FCGI on Windows
1.10.02.0.0stablestable2008-12-24PHP License
- #12965, archive files with many root entries cannot be opened
- #12414, extracting files from damaged archives
- fix test for OOo stream test
- Sync Code with 0.8.x (and port our php zip fixes)
1.9.12.0.0alphaalpha2007-01-18PHP License
- #40228, extractTo does not create recursive empty path (empty1/empty2/)
1.9.02.0.0alphaalpha2007-01-18PHP License
- fix some memleaks and double-free()s on error conditions (Nuno Lopes)
- Add experimental support for addGlob and addPattern. They use respectively
glob or regexp patterns to add entries. They also accept options like remove_path
, add_path or remove_all_path. See the examples addglob and addpattern.php
- requires pcre
1.8.42.0.0stablestable2006-12-17PHP License
- Use phplibdir in config.m4 (for lib64 or other custom location)
- Add path length sanity checks (Ilia, Tony)
- Update year, happy new year
1.8.32.0.0stablestable2006-12-17PHP License
- Fixed threadsafe issue with localtime function, it uses now the
php php_localtime_r (Ron Korving, Ilia)
1.8.22.0.0stablestable2006-12-02PHP License
- restore compatibility with php 5.1.0 to 5.1.2 (other versions are not affected)
1.8.12.0.0stablestable2006-11-28PHP License
- PECL #9278, Binary access issues on Windows in any SAPI but CGI, CLI and embed
(windows API does not respect "b" mode given to fopen)
- Fixed a possible leak in the entries managements (Nuno Lopes)
- createEmptyDir returns true one success
- Use static for each internal functions when possible (Nuno Lopes)
- Update protos in the sources
1.8.02.0.0stablestable2006-11-01PHP License
- Fixed a possible leak in statName and statIndex
- Added zipArchive::adEmptyDir() method, creates an empty directory
- Fixed setComment when used with a freshly added entry
- setComment now returns the expected value (boolean) (Hannes)
1.7.52.0.0stablestable2006-10-25PHP License
- PECL Bug #9082, wrong entry name like "a/b//file.txt" cannot be extracted on windows
A "bug" in php mkdir was the cause, a work around has been introduced for php versions before 5.2.0
1.7.42.0.0stablestable2006-09-27PHP License
- PHP Bug #38943, properties in extended class cannot be set
- PHP Bug #38944, freshly created archive has no comment or cdir
1.7.32.0.0stablestable2006-09-16PHP License
- PECL Bug #8700, zipArchive::getFromIndex fails
- PECL Bug #8676, zipArchive::addFile was not updated and still used VCWD_REALPATH, it now uses expand_filename
- Fixed wrong internal types for comment lenghts, does not affect userland script (Nuno Lopes)
2.0.02.0.0stablestable2006-09-06PHP License
- Fix wrong internal types for comment lenghts, does not affect userland script (Nuno Lopes)
1.7.21.7.0betabeta2006-08-24PHP License
- Previous release was broken in non threaded environment.
This release works smoothly in threaded and non threaded.
Thanks to "FamilleCollet dot com" (Fedora-Extra maintainer for the
head up)
1.7.11.7.0betabeta2006-08-24
- Fix issues with relative path in threaded environment,
VCWD_REALPATH is used in ZipArchive::open() and ::addFile
1.7.01.7.0betabeta2006-07-14PHP License
- Add ZIPARCHIVE::OVERWRITE mode for ::open(), creates a new
archive and write over an existing file
- locateName do not change anymore the state, it can now be used to test an entry
- fix possilbe crashes when two entries with the same name have been added
- Enhanced safemode support
- fix builds against php 6.0 (HEAD)
- fix compiler warning (Ilia, Tony)
- cleanup phpinfo() output (Ilia)
1.6.01.6.0betaalpha2006-07-14PHP License
- Rename Class Zip to ZipArchive, required to be bundled
in php 5.2.0 (Zip being a ZipCode in US), making the role of
this class more obvious *Gah*
1.5.01.5.0alphaalpha2006-07-14PHP License
- bring consistency to the method names:
- rename zip::delete() to deleteIndex()
- add zip::deleteName()
- rename zip::statPath to zip::statName()
- rename zip::rename to zip::renameIndex()
- add zip::renameName();
- add zip::locateName(), returns the index of an entry, allows case insensitive
or directory free lookup (ZIP::FL_NOCASE, ZIP::FL_NODIR)
- add zip::unchangeName(), ::unchangeIndex(), unchangeAll() and unchangeArchive()
revert changes to an entry, to all entries or the archive
- add zip::getNameIndex(), get the name of the entry at the given position
- Bug #7658, Modify zip archives causes corruption if the data descriptor is used
(bit 3 of the general flags)
- fix a bug when in the delete and rename methods when the index is lower than 1
- zip::addFile() must return true on success
- zip::open() returns now the error code on error and true on success
1.4.11.4.0alphaalpha2006-06-28PHP License
- Add missing files in the package release
1.4.01.4.0alphaalpha2006-06-28PHP License
- Add write mode to the archive comment (zip::comment property)
- Add zip::setCommentName and ::setCommentIndex, add or remove entrie comment
- Add zip::getCommentName and ::getCommentIndex, get an entrie comment
- Add zip::setArchiveComment
- Full sync with zip-0.7.1
- #8009, modify archives on windows cannot be closed
1.3.11.3.0alphaalpha2006-04-26PHP License
- #7500, Fix build with php 5.1.0, 5.1.1 and 5.1.2
1.3.01.3.0alphaalpha2006-04-26
- Fix possible leak with __set/__get in classes extending the Zip
intern object (tony2001[at]php.net)
- Added getFromName(), return the contents of an entry using its name
- Added getFromIndex(), return the contents of an entry using its index
1.2.31.2.1alphaalpha2006-03-30PHP License
- #7214, use binary safe string as return value, 0x00 was considered as
the end of the content, affected only the procedural API
1.2.21.2.1alphaalpha2006-03-22PHP License
- fix a bug in internal zip_close, new archives were not written
- ::open returns now false on error
- update the "create.php" example, status and returned codes are now checked
- fix a leak when the ::open method is called twice or more with the same
object
1.2.11.2.1alphaalpha2006-03-19PHP License
- fixed a possible build problem (mkstemp missing)
- fix a bug where extending the Zip class does allow
to write to a property, see php bugs #36743 (array)
1.2.01.2.0alphaalpha2006-03-12PHP License
- enable stream by default,
* use uri like zip:///path/to/my.zip#entryname.dat
(the URI format may change in future version)
- add support for print_r/var_dump (Zip object)
- add tests for the OO (still need more)
- add more example, like using xmlreader and zip
stream to parse OpenDocument meta info
1.1.21.1.0alphaalpha2006-03-05PHP License
- do not create empty file when a zip entry is only
a directory (empty or not)
1.1.11.1.0alphaalpha2006-03-02PHP License
- Fix PHP 5.1 detection at compiletie
- fix possible build errors with gcc other than 4.0.x
- add better zlib detection
- "--with-zlib-dir=[DIR]" added
1.1.01.1.0alphaalpha2006-03-01PHP License
- replace the old zip extensions
* 100% compatible with the old API
* added zip creation support (write mode)
* added OO interface
* Stream support, getStream method
returns a file handler
- bundled libzip and drop zzlib usage
(see http://www.nih.at/libzip/)