Rev. 2.0.8 - 2015-11-16 * Updated Dependencies. * Added buffer flush monitoring to ZipStream following error #38 --------------------------------------------------------------------- Rev. 2.0.7 - 2015-04-30 * Updated Dependencies. --------------------------------------------------------------------- Rev. 2.0.3 - 2014-08-03 * Added: added function appendZip to the Zip classes. This allows the ser to add pre-compressed static data to the final Zip file, without having to re-compress this data. ***************************************************************************************************************** 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 ***************************************************************************************************************** --------------------------------------------------------------------- Rev. 2.0.2 - 2014-07-30 * Added: Added ZipMerge utility. Allows preexisting zip files to be merged into one on the fly, streamed to the client. TODO: Add appendZip function to AbstractZipArchive. --------------------------------------------------------------------- Rev. 2.0.1 - 2014-07-21 * Fixed: Large files could fail to be added due to a problem in how the PHP ZipArchive would handle open temp files. --------------------------------------------------------------------- Rev. 2.0.0 - 2014-07-11 * Added: Namespace support. * Added: custom Exceptions. * Added: composer and packagist support. This is ready to be uploaded as a package at packagist. Then it can be required by any composer project as a fully self-contained library. * Added: events (observer pattern). These may come in handy for automated operations. * Updated: Code structure to better suit psr standard. Also took a more scalable OO approach. * See issues #19 and #26 for more information. --------------------------------------------------------------------- Rev. 1.63 - 2014-07-14 (Never released) * Major clean up. * Fixed: Failure on systems running with mbstring.func_overload enabled. The morale is, don't use mbstring.func_overload, it'll kill any app working with binary data.. Note. This will be the last release in the 1.x version range. 2.00 will include name spaces, and a major remodeling, courtesy of a pull request on GitHub. 2.00 will likely not remain backwards compatible with 1.x, but should provide a far more stable platform to move forward on. --------------------------------------------------------------------- Rev. 1.62 - 2014-03-25 * Added: Support for the user to set their own temp file. - From Michele Locati, the submitter of this patch: "Let's allow users to customize temporary files, either by setting Zip::$temp to a custom temporary folder or by setting Zip::$temp to a callable that returns a custom temporary file name." --------------------------------------------------------------------- Rev. 1.61 - 2014-01-18 * Added: UTF-8 path and comment extra fields, if the file name and/or comment is a UTF-8 string. - Note: Not all Zip implementations can handle UTF-8, even with these fields added. Windows Explorer's build in tool seems to be one. --------------------------------------------------------------------- Rev. 1.60 - 2014-01-11 * Fixed: File attribures parameter added in 1.50 ($extFileAttr) were not used in Zip->addFile. * Added: The ability to send the zip with a UTF-8 encoded filename, and the ability to choose to send the file as "inline" - Note, thanks to Mikael Ylikoski for these corrections and additions. --------------------------------------------------------------------- Rev. 1.50 - 2013-12-01 * Added: Support for defining file permissions, using the unix format, ie. 644 for files and 755 for dirs * Changed: The default permission on files and dirs from 777 to 644 and 755 respectively. * Changed: addDicextoryContent now reads permissions from the filesystem, but the user can override. --------------------------------------------------------------------- Rev. 1.40 - 2013-09-16 * Fixed: Trailing semicolon in the Content-Disposition file header caused trouble in some browsers --------------------------------------------------------------------- Rev. 1.39 - 2013-07-26 * Fixed: "HTML Headers have already been sent from in line 0" when using addDirectoryContent --------------------------------------------------------------------- Rev. 1.38 - 2013-03-09 * Added: Parameter $compress to addFile. A boolean which when set to FALSE will store the added data, rather than attempt to compress it. Good for already compressed files such as images and other multimedia types. --------------------------------------------------------------------- Rev. 1.37 - 2013-01-21 * Added: Support for UTF-8 characters in file paths. The class will detect Multibyte paths strings and assume they are UTF-8, it is up to the user to ensure this is the case. --------------------------------------------------------------------- Rev. 1.36 - 2012-06-11 * Updated: processFile have been updated for performance. * Updated: README with a warning to not use, or at least disable PHP output buffering. 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. --------------------------------------------------------------------- Rev. 1.35 - 2012-06-05 * Fixed: new bug that caused addDirectory to create invalid Zip entries --------------------------------------------------------------------- Rev. 1.34 - 2012-06-05 * Fixed: Regression error, where addDirectoryContent would no longer add the given directory. --------------------------------------------------------------------- Rev. 1.33 - 2012-06-03 * Fixed: Issue where addDirectory with trailing slashes would create empty, zero length names as subdirectories. * Misc: Code cleanup --------------------------------------------------------------------- Rev. 1.32 - 2012-03-08 * Fixed: Empty directories work as well now. * Note: The large file handling were practically entirely rewritten. This adds an additional dependency to the class, that the PHP Zip package must be available. --------------------------------------------------------------------- Rev. 1.31 - 2012-03-01 * Fixed: Mac OSX default Archive Utility should now be able to load the files produced by this utility. --------------------------------------------------------------------- Rev. 1.30 - 2012-01-21 * Fixed: Issue #3, Error in TimeZone handling. Additionally. If you are experiencing problems with the MacOS X default Archive Utility, try to uncomment line 124, if that works, let me know. --------------------------------------------------------------------- Rev. 1.29 - 2011-10-07 * Added: Parameters $followSymlinks and $addedFiles to the addDirectoryContent function. * Fixed: A problem in addDirectoryContent where unreadable symlinks could cause the function to go into an infinite loop. * Fixed: A problem in addDirectoryContent where directories weren't added if they were empty. --------------------------------------------------------------------- Rev. 1.28 - 2011-09-03 * Added: Parameter $addExtraFields and the setter setExtraFields(bool), defaulting to TRUE. These Extra fields are needed for Mac's default Zip tool. * Added: Parameter $compress to addFile, it defaults to TRUE (same behaviour as previous versions) and allows the user to "store" files uncompressed in the archive. --------------------------------------------------------------------- Rev. 1.27 - 2011-07-05 * Fixed: (I hope) Problem with opening Zip files on Mac. Relevant discussion at http://www.phpclasses.org/discuss/package/6616/thread/4/ --------------------------------------------------------------------- Rev. 1.26 - 2011-07-03 * Fixed: Silent failure when using ZipStream in PHP versions prior to 5.2.1 due to the lack of support for the sys_get_temp_dir function needed for large files. ZipStream now tests and dies properly if this is the case. * Fixed: Problem with opening Zip files on Mac. http://www.phpclasses.org/discuss/package/6616/thread/4/ --------------------------------------------------------------------- Rev. 1.25 - 2011-03-14 * Fixed: Directory duplication in some circumstances caused by addDirectoryContent being called with an empty $zipPath argument. * Fixed: getRelativePath returned absolute paths for relative paths and vice versa. --------------------------------------------------------------------- Rev. 1.24 - 2011-03-13 * Fixed: Parsing Windows absolute paths would result in relative paths where the Windows drive designation would be treated as just another path element. --------------------------------------------------------------------- Rev. 1.23 - 2011-03-13 * Added: static function getRelativePath, which cleans up paths, removing any unnecessary elements such as /./, // or redundant ../ segments. --------------------------------------------------------------------- Rev. 1.22 - 2011-03-12 * Added: method addDirectoryContent to add an entire directory, the functions defaults to recursive operation. --------------------------------------------------------------------- Rev. 1.21 - 2011-02-20 * Fixed: Sending failed when the Output buffer had been initialized with ob_start, but was empty. --------------------------------------------------------------------- Rev. 1.20 - 2011-02-19 (for Zip.php) * Changed: sendFile now have the optional parameter $contentType, defaulting to "application/zip". This is the mimetype of the archive to be sent, useful for file types using Zip as a container, like ePub, CBZ and ODF. (for ZipStream.php) * Changed: The constructor now have the optional parameter $contentType, defaulting to "application/zip". This is the mimetype of the archive to be sent, useful for file types using Zip as a container, like ePub, CBZ and ODF. --------------------------------------------------------------------- Rev. 1.00 Initial release