Edit report at https://bugs.php.net/bug.php?id=65288&edit=1
ID: 65288
User updated by: crayonviolent at phpfreaks dot com
Reported by: crayonviolent at phpfreaks dot com
Summary: ZipArchive::getStatusString returns wrong error
message
-Status: Feedback
+Status: Open
Type: Bug
Package: Zip Related
Operating System: Irrelevant
PHP Version: Irrelevant
Block user comment: N
Private report: N
New Comment:
Read the example code closer. The zip is valid and will open. It is the non
existant file IN the zip that getStream isn't returning a proper error on
Previous Comments:
------------------------------------------------------------------------
[2013-07-19 07:20:12] [email protected]
In your example, it wouldn't even reach to getStream(). If there's no file,
it'll
not go through after open(). Please give an example reproducing the exact
behavior
you describe.
------------------------------------------------------------------------
[2013-07-18 14:15:05] crayonviolent at phpfreaks dot com
Description:
------------
>From the code below, if $file_name is a valid file found within $zip_file, the
contents are echo'd just fine. However, if the $file_name is not found, $fp
returns false and getStatusString() is echo'd. The problem is that it is
echoing
"No error". Shouldn't it be returning "No such file" (ER_NOENT) ?
Maybe this is actually a bug with ZipArchive::getStream or a combo of both?
Test script:
---------------
/**** begin code ****/
$zip_file='someZip.zip';
$file_name='someFile.txt';
$z = new ZipArchive();
if ($z->open($zip_file) !== true) {
echo "File not found.";
return false;
}
$fp = $z->getStream($file_name);
if (!$fp) {
echo $z->getStatusString();
} else {
fpassthru($fp);
}
/***** end code ******/
------------------------------------------------------------------------
--
Edit this bug report at https://bugs.php.net/bug.php?id=65288&edit=1