[ Index ] |
|
Code source de eZ Publish 3.9.0 |
1 // -------------------------------------------------------------------------------- 2 // PclZip 2.3 - readme.txt 3 // -------------------------------------------------------------------------------- 4 // License GNU/LGPL - November 2004 5 // Vincent Blavet - vincent@phpconcept.net 6 // http://www.phpconcept.net 7 // -------------------------------------------------------------------------------- 8 // $Id: readme.txt,v 1.34 2004/11/16 19:54:28 vblavet Exp $ 9 // -------------------------------------------------------------------------------- 10 11 12 13 0 - Sommaire 14 ============ 15 1 - Introduction 16 2 - What's new 17 3 - Corrected bugs 18 4 - Known bugs or limitations 19 5 - License 20 6 - Warning 21 7 - Author 22 8 - Contribute 23 24 1 - Introduction 25 ================ 26 27 PclZip is a library that allow you to manage a Zip archive. 28 29 Full documentation about PclZip can be found here : http://www.phpconcept.net/pclzip 30 31 2 - What's new 32 ============== 33 34 Version 2.3 : 35 - Correct a bug with PHP5 : affecting the value 0xFE49FFE0 to a variable does not 36 give the same result in PHP4 and PHP5 .... 37 38 Version 2.2 : 39 - Try development of PCLZIP_OPT_CRYPT ..... 40 However this becomes to a stop. To crypt/decrypt I need to multiply 2 long integers, 41 the result (greater than a long) is not supported by PHP. Even the use of bcmath 42 functions does not help. I did not find yet a solution ...; 43 - Add missing '/' at end of directory entries 44 - Check is a file is encrypted or not. Returns status 'unsupported_encryption' and/or 45 error code PCLZIP_ERR_UNSUPPORTED_ENCRYPTION. 46 - Corrected : Bad "version need to extract" field in local file header 47 - Add private method privCheckFileHeaders() in order to check local and central 48 file headers. PclZip is now supporting purpose bit flag bit 3. Purpose bit flag bit 3 gives 49 the ability to have a local file header without size, compressed size and crc filled. 50 - Add a generic status 'error' for file status 51 - Add control of compression type. PclZip only support deflate compression method. 52 Before v2.2, PclZip does not check the compression method used in an archive while 53 extracting. With v2.2 PclZip returns a new error status for a file using an unsupported 54 compression method. New status is "unsupported_compression". New error code is 55 PCLZIP_ERR_UNSUPPORTED_COMPRESSION. 56 - Add optional attribute PCLZIP_OPT_STOP_ON_ERROR. This will stop the extract of files 57 when errors like 'a folder with same name exists' or 'a newer file exists' or 58 'a write protected file' exists, rather than set a status for the concerning file 59 and resume the extract of the zip. 60 - Add optional attribute PCLZIP_OPT_REPLACE_NEWER. This will force, during an extract' the 61 replacement of the file, even if a newer version of the file exists. 62 Note that today if a file with the same name already exists but is older it will be 63 replaced by the extracted one. 64 - Improve PclZipUtilOption() 65 - Support of zip archive with trailing bytes. Before 2.2, PclZip checks that the central 66 directory structure is the last data in the archive. Crypt encryption/decryption of 67 zip archive put trailing 0 bytes after decryption. PclZip is now supporting this. 68 69 Version 2.1 : 70 - Add the ability to abort the extraction by using a user callback function. 71 The user can now return the value '2' in its callback which indicates to stop the 72 extraction. For a pre call-back extract is stopped before the extration of the current 73 file. For a post call back, the extraction is stopped after. 74 - Add the ability to extract a file (or several files) directly in the standard output. 75 This is done by the new parameter PCLZIP_OPT_EXTRACT_IN_OUTPUT with method extract(). 76 - Add support for parameters PCLZIP_OPT_COMMENT, PCLZIP_OPT_ADD_COMMENT, 77 PCLZIP_OPT_PREPEND_COMMENT. This will create, replace, add, or prepend comments 78 in the zip archive. 79 - When merging two archives, the comments are not any more lost, but merged, with a 80 blank space separator. 81 - Corrected bug : Files are not deleted when all files are asked to be deleted. 82 - Corrected bug : Folders with name '0' made PclZip to abort the create or add feature. 83 84 85 Version 2.0 : 86 ***** Warning : Some new features may break the backward compatibility for your scripts. 87 Please carefully read the readme file. 88 - Add the ability to delete by Index, name and regular expression. This feature is 89 performed by the method delete(), which uses the optional parameters 90 PCLZIP_OPT_BY_INDEX, PCLZIP_OPT_BY_NAME, PCLZIP_OPT_BY_EREG or PCLZIP_OPT_BY_PREG. 91 - Add the ability to extract by regular expression. To extract by regexp you must use the method 92 extract(), with the option PCLZIP_OPT_BY_EREG or PCLZIP_OPT_BY_PREG 93 (depending if you want to use ereg() or preg_match() syntax) followed by the 94 regular expression pattern. 95 - Add the ability to extract by index, directly with the extract() method. This is a 96 code improvment of the extractByIndex() method. 97 - Add the ability to extract by name. To extract by name you must use the method 98 extract(), with the option PCLZIP_OPT_BY_NAME followed by the filename to 99 extract or an array of filenames to extract. To extract all a folder, use the folder 100 name rather than the filename with a '/' at the end. 101 - Add the ability to add files without compression. This is done with a new attribute 102 which is PCLZIP_OPT_NO_COMPRESSION. 103 - Add the attribute PCLZIP_OPT_EXTRACT_AS_STRING, which allow to extract a file directly 104 in a string without using any file (or temporary file). 105 - Add constant PCLZIP_SEPARATOR for static configuration of filename separators in a single string. 106 The default separator is now a comma (,) and not any more a blank space. 107 THIS BREAK THE BACKWARD COMPATIBILITY : Please check if this may have an impact with 108 your script. 109 - Improve algorythm performance by removing the use of temporary files when adding or 110 extracting files in an archive. 111 - Add (correct) detection of empty filename zipping. This can occurs when the removed 112 path is the same 113 as a zipped dir. The dir is not zipped (['status'] = filtered), only its content. 114 - Add better support for windows paths (thanks for help from manus@manusfreedom.com). 115 - Corrected bug : When the archive file already exists with size=0, the add() method 116 fails. Corrected in 2.0. 117 - Remove the use of OS_WINDOWS constant. Use php_uname() function rather. 118 - Control the order of index ranges in extract by index feature. 119 - Change the internal management of folders (better handling of internal flag). 120 121 122 Version 1.3 : 123 - Removing the double include check. This is now done by include_once() and require_once() 124 PHP directives. 125 - Changing the error handling mecanism : Remove the use of an external error library. 126 The former PclError...() functions are replaced by internal equivalent methods. 127 By changing the environment variable PCLZIP_ERROR_EXTERNAL you can still use the former library. 128 Introducing the use of constants for error codes rather than integer values. This will help 129 in futur improvment. 130 Introduction of error handling functions like errorCode(), errorName() and errorInfo(). 131 - Remove the deprecated use of calling function with arguments passed by reference. 132 - Add the calling of extract(), extractByIndex(), create() and add() functions 133 with variable options rather than fixed arguments. 134 - Add the ability to remove all the file path while extracting or adding, 135 without any need to specify the path to remove. 136 This is available for extract(), extractByIndex(), create() and add() functionS by using 137 the new variable options parameters : 138 - PCLZIP_OPT_REMOVE_ALL_PATH : by indicating this option while calling the fct. 139 - Ability to change the mode of a file after the extraction (chmod()). 140 This is available for extract() and extractByIndex() functionS by using 141 the new variable options parameters. 142 - PCLZIP_OPT_SET_CHMOD : by setting the value of this option. 143 - Ability to definition call-back options. These call-back will be called during the adding, 144 or the extracting of file (extract(), extractByIndex(), create() and add() functions) : 145 - PCLZIP_CB_PRE_EXTRACT : will be called before each extraction of a file. The user 146 can trigerred the change the filename of the extracted file. The user can triggered the 147 skip of the extraction. This is adding a 'skipped' status in the file list result value. 148 - PCLZIP_CB_POST_EXTRACT : will be called after each extraction of a file. 149 Nothing can be triggered from that point. 150 - PCLZIP_CB_PRE_ADD : will be called before each add of a file. The user 151 can trigerred the change the stored filename of the added file. The user can triggered the 152 skip of the add. This is adding a 'skipped' status in the file list result value. 153 - PCLZIP_CB_POST_ADD : will be called after each add of a file. 154 Nothing can be triggered from that point. 155 - Two status are added in the file list returned as function result : skipped & filename_too_long 156 'skipped' is used when a call-back function ask for skipping the file. 157 'filename_too_long' is used while adding a file with a too long filename to archive (the file is 158 not added) 159 - Adding the function PclZipUtilPathInclusion(), that check the inclusion of a path into 160 a directory. 161 - Add a check of the presence of the archive file before some actions (like list, ...) 162 - Add the initialisation of field "index" in header array. This means that by 163 default index will be -1 when not explicitly set by the methods. 164 165 Version 1.2 : 166 - Adding a duplicate function. 167 - Adding a merge function. The merge function is a "quick merge" function, 168 it just append the content of an archive at the end of the first one. There 169 is no check for duplicate files or more recent files. 170 - Improve the search of the central directory end. 171 172 Version 1.1.2 : 173 174 - Changing the license of PclZip. PclZip is now released under the GNU / LGPL license 175 (see License section). 176 - Adding the optional support of a static temporary directory. You will need to configure 177 the constant PCLZIP_TEMPORARY_DIR if you want to use this feature. 178 - Improving the rename() function. In some cases rename() does not work (different 179 Filesystems), so it will be replaced by a copy() + unlink() functions. 180 181 Version 1.1.1 : 182 183 - Maintenance release, no new feature. 184 185 Version 1.1 : 186 187 - New method Add() : adding files in the archive 188 - New method ExtractByIndex() : partial extract of the archive, files are identified by 189 their index in the archive 190 - New method DeleteByIndex() : delete some files/folder entries from the archive, 191 files are identified by their index in the archive. 192 - Adding a test of the zlib extension presence. If not present abort the script. 193 194 Version 1.0.1 : 195 196 - No new feature 197 198 199 3 - Corrected bugs 200 ================== 201 202 Corrected in Version 2.0 : 203 - Corrected : During an extraction, if a call-back fucntion is used and try to skip 204 a file, all the extraction process is stopped. 205 206 Corrected in Version 1.3 : 207 - Corrected : Support of static synopsis for method extract() is broken. 208 - Corrected : invalid size of archive content field (0xFF) should be (0xFFFF). 209 - Corrected : When an extract is done with a remove_path parameter, the entry for 210 the directory with exactly the same path is not skipped/filtered. 211 - Corrected : extractByIndex() and deleteByIndex() were not managing index in the 212 right way. For example indexes '1,3-5,11' will only extract files 1 and 11. This 213 is due to a sort of the index resulting table that puts 11 before 3-5 (sort on 214 string and not interger). The sort is temporarilly removed, this means that 215 you must provide a sorted list of index ranges. 216 217 Corrected in Version 1.2 : 218 219 - Nothing. 220 221 Corrected in Version 1.1.2 : 222 223 - Corrected : Winzip is unable to delete or add new files in a PclZip created archives. 224 225 Corrected in Version 1.1.1 : 226 227 - Corrected : When archived file is not compressed (0% compression), the 228 extract method fails. 229 230 Corrected in Version 1.1 : 231 232 - Corrected : Adding a complete tree of folder may result in a bad archive 233 creation. 234 235 Corrected in Version 1.0.1 : 236 237 - Corrected : Error while compressing files greater than PCLZIP_READ_BLOCK_SIZE (default=1024). 238 239 240 4 - Known bugs or limitations 241 ============================= 242 243 Please publish bugs reports in SourceForge : 244 http://sourceforge.net/tracker/?group_id=40254&atid=427564 245 246 In Version 2.x : 247 - PclZip does only support file uncompressed or compressed with deflate (compression method 8) 248 - PclZip does not support password protected zip archive 249 250 In Version 1.2 : 251 252 - merge() methods does not check for duplicate files or last date of modifications. 253 254 In Version 1.1 : 255 256 - Limitation : Using 'extract' fields in the file header in the zip archive is not supported. 257 - WinZip is unable to delete a single file in a PclZip created archive. It is also unable to 258 add a file in a PclZip created archive. (Corrected in v.1.2) 259 260 In Version 1.0.1 : 261 262 - Adding a complete tree of folder may result in a bad archive 263 creation. (Corrected in V.1.1). 264 - Path given to methods must be in the unix format (/) and not the Windows format (\). 265 Workaround : Use only / directory separators. 266 - PclZip is using temporary files that are sometime the name of the file with a .tmp or .gz 267 added suffix. Files with these names may already exist and may be overwritten. 268 Workaround : none. 269 - PclZip does not check if the zlib extension is present. If it is absent, the zip 270 file is not created and the lib abort without warning. 271 Workaround : enable the zlib extension on the php install 272 273 In Version 1.0 : 274 275 - Error while compressing files greater than PCLZIP_READ_BLOCK_SIZE (default=1024). 276 (Corrected in v.1.0.1) 277 - Limitation : Multi-disk zip archive are not supported. 278 279 280 5 - License 281 =========== 282 283 Since version 1.1.2, PclZip Library is released under GNU/LGPL license. 284 This library is free, so you can use it at no cost. 285 286 HOWEVER, if you release a script, an application, a library or any kind of 287 code using PclZip library (or a part of it), YOU MUST : 288 - Indicate in the documentation (or a readme file), that your work 289 uses PclZip Library, and make a reference to the author and the web site 290 http://www.phpconcept.net 291 - Gives the ability to the final user to update the PclZip libary. 292 293 I will also appreciate that you send me a mail (vincent@phpconcept.net), just to 294 be aware that someone is using PclZip. 295 296 For more information about GNU/LGPL license : http://www.gnu.org 297 298 6 - Warning 299 ================= 300 301 This library and the associated files are non commercial, non professional work. 302 It should not have unexpected results. However if any damage is caused by this software 303 the author can not be responsible. 304 The use of this software is at the risk of the user. 305 306 7 - Author 307 ========== 308 309 This software was written by Vincent Blavet (vincent@phpconcept.net) on its leasure time. 310 311 8 - Contribute 312 ============== 313 If you want to contribute to the development of PclZip, please contact vincent@phpconcept.net. 314 If you can help in financing PhpConcept hosting service, please go to 315 http://www.phpconcept.net/soutien.php
titre
Description
Corps
titre
Description
Corps
titre
Description
Corps
titre
Corps
Généré le : Sat Feb 24 10:30:04 2007 | par Balluche grâce à PHPXref 0.7 |