note 75840 added to function.zip-open

From: Date: Mon, 18 Jun 2007 15:28:16 +0000
Subject: note 75840 added to function.zip-open
Groups: php.notes 
Request: Send a blank email to php-notes+get-127537@lists.php.net to get a copy of this message
Some older PHP versions used to return false if zip_open failed, and newer versions return the number of error (as integer), so instead of this: $zip = zip_open($zip_file); if ($zip) { // consider zip file opened successfully } use this: $zip = zip_open($zip_file); if (is_resource($zip)) { // consider zip file opened successfully } You may also use this function to get the error message by it's number: function zipFileErrMsg($errno) { // using constant name as a string to make this function PHP4 compatible $zipFileFunctionsErrors = array( 'ZIPARCHIVE::ER_MULTIDISK' => 'Multi-disk zip archives not supported.', 'ZIPARCHIVE::ER_RENAME' => 'Renaming temporary file failed.', 'ZIPARCHIVE::ER_CLOSE' => 'Closing zip archive failed', 'ZIPARCHIVE::ER_SEEK' => 'Seek error', 'ZIPARCHIVE::ER_READ' => 'Read error', 'ZIPARCHIVE::ER_WRITE' => 'Write error', 'ZIPARCHIVE::ER_CRC' => 'CRC error', 'ZIPARCHIVE::ER_ZIPCLOSED' => 'Containing zip archive was closed', 'ZIPARCHIVE::ER_NOENT' => 'No such file.', 'ZIPARCHIVE::ER_EXISTS' => 'File already exists', 'ZIPARCHIVE::ER_OPEN' => 'Can\'t open file', 'ZIPARCHIVE::ER_TMPOPEN' => 'Failure to create temporary file.', 'ZIPARCHIVE::ER_ZLIB' => 'Zlib error', 'ZIPARCHIVE::ER_MEMORY' => 'Memory allocation failure', 'ZIPARCHIVE::ER_CHANGED' => 'Entry has been changed', 'ZIPARCHIVE::ER_COMPNOTSUPP' => 'Compression method not supported.', 'ZIPARCHIVE::ER_EOF' => 'Premature EOF', 'ZIPARCHIVE::ER_INVAL' => 'Invalid argument', 'ZIPARCHIVE::ER_NOZIP' => 'Not a zip archive', 'ZIPARCHIVE::ER_INTERNAL' => 'Internal error', 'ZIPARCHIVE::ER_INCONS' => 'Zip archive inconsistent', 'ZIPARCHIVE::ER_REMOVE' => 'Can\'t remove file', 'ZIPARCHIVE::ER_DELETED' => 'Entry has been deleted', ); $errmsg = 'unknown'; foreach ($zipFileFunctionsErrors as $constName => $errorMessage) { if (defined($constName) and constant($constName) === $errno) { return 'Zip File Function error: '.$errorMessage; } } return 'Zip File Function error: unknown'; } $zip = zip_open($zip_file); if (!is_resource($zip)) { die(zipFileErrMsg($zip)); } ---- Server IP: 193.219.81.76 Probable Submitter: 213.164.105.187 ---- Manual Page -- http://www.php.net/manual/en/function.zip-open.php Edit -- https://master.php.net/note/edit/75840 Del: integrated -- https://master.php.net/note/delete/75840/integrated Del: useless -- https://master.php.net/note/delete/75840/useless Del: bad code -- https://master.php.net/note/delete/75840/bad+code Del: spam -- https://master.php.net/note/delete/75840/spam Del: non-english -- https://master.php.net/note/delete/75840/non-english Del: in docs -- https://master.php.net/note/delete/75840/in+docs Del: other reasons-- https://master.php.net/note/delete/75840 Reject -- https://master.php.net/note/reject/75840 Search -- https://master.php.net/manage/user-notes.php

« previous php.notes (#127537) next »