Edit report at https://bugs.php.net/bug.php?id=65288&edit=1
ID: 65288 Updated by: a...@php.net Reported by: crayonviolent at phpfreaks dot com Summary: ZipArchive::getStatusString returns wrong error message -Status: Open +Status: Feedback Type: Bug Package: Zip Related Operating System: Irrelevant PHP Version: Irrelevant Block user comment: N Private report: N New Comment: 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. Previous Comments: ------------------------------------------------------------------------ [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