Edit report at http://bugs.php.net/bug.php?id=53893&edit=1

 ID:                 53893
 User updated by:    schmale at froglogic dot com
 Reported by:        schmale at froglogic dot com
 Summary:            Wrong return value for ZipArchive::extractTo()
-Status:             Feedback
+Status:             Open
 Type:               Bug
 Package:            Zip Related
 Operating System:   Linux
 PHP Version:        5.3.5
 Block user comment: N
 Private report:     N

 New Comment:

No, it's just an arbitrary zip file. Not empty, of course. In my case,
it was a zip file of approx. 50kb size.



If I deleted the existing directory, the zip file was extracted
perfectly. However, extracting the zip file into a directory with no
write privileges did nothing at all. This is desired behaviour, of
course, if it wasn't for the return value: The ZipArchive::extractTo's
return value was TRUE either way, which lead to some confusion.


Previous Comments:
------------------------------------------------------------------------
[2011-01-31 21:36:11] fel...@php.net

Hello, I've a doubt about the test case. $zipPath points to an empty zip
file?

------------------------------------------------------------------------
[2011-01-31 17:49:03] schmale at froglogic dot com

Description:
------------
PHP version (as given in phpinfo()): PHP Version 5.3.3-1ubuntu9.3



Zip-related information:

Zip     enabled

Extension Version       $Id: php_zip.c 300470 2010-06-15 18:48:33Z pajoye $

Zip version     1.9.1

Libzip version  0.9.0 

Test script:
---------------
function testReturnValue() {

        $extractToPath = "/home/user/testDir"; /* existing dir with NO
write privileges */

        $zipPath = "path/to/zipFile"; // has to be valid zip file



        $zip = new ZipArchive();

        $open = $zip->open($zipPath);

        if ($open === true) {

           $extracting = $zip->extractTo($extractToPath);

           $zip->close();

           return $extracting;

        } else {

           return false;

        }

}

Expected result:
----------------
Return value of testReturnValue() should be FALSE, as long as the php
user has no write access to the directory into which we extract the zip
(because if that's the case, nothing will happen).

Actual result:
--------------
Return value is TRUE, even if no extracting happened due to lacking
privileges.


------------------------------------------------------------------------



-- 
Edit this bug report at http://bugs.php.net/bug.php?id=53893&edit=1

Reply via email to