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

 ID:                 60348
 Updated by:         [email protected]
 Reported by:        dafish at soundtrack-board dot de
 Summary:            Unable to open new zipfile in mode OVERWRITE
-Status:             Open
+Status:             Assigned
 Type:               Bug
 Package:            Zip Related
 Operating System:   Linux Debian 2.6.32
 PHP Version:        5.3.8
-Assigned To:        
+Assigned To:        pajoye
 Block user comment: N
 Private report:     N

 New Comment:

hm, it supports symlink smoothly. Let me test again.


Previous Comments:
------------------------------------------------------------------------
[2011-11-23 08:36:47] dafish at soundtrack-board dot de

After some more investigation along with an colleague I've found the source of 
the 
issue: I was trying to create the archive inside an directory which is 
symlinked 
to another directory. After adding realpath() to the archivename, the file 
could 
be successfully opened and stored.

I'm not sure if the error message was helpful at all and could be changed in 
the 
future.

------------------------------------------------------------------------
[2011-11-21 14:42:32] dafish at soundtrack-board dot de

Here is a little self contained script producing the same error:

$zip = new ZipArchive();

$archiveName = 'testtest.zip';
$error = $zip->open($archiveName, ZipArchive::OVERWRITE);
echo $error . PHP_EOL; // outputs '1'

$zip->addFromString('text.txt', 'Lorem Ipsum');

$zip->close();

------------------------------------------------------------------------
[2011-11-21 14:35:07] [email protected]

can you create a self contained script? Use addFromString instead and drop 
everything not needed like exceptions and co, easier/faster for me to debug 
then.

------------------------------------------------------------------------
[2011-11-21 14:30:29] dafish at soundtrack-board dot de

Description:
------------
I'm trying to open a zip file in mode OVERWRITE. I always end up getting error 
code 1,

Test script:
---------------
$this->archiveName = TEMP_DIR . '/archive_' . $this->tid . '_' . date('Ymd') . 
'.zip';

$errorCode = $this->zipArchive->open($this->archiveName, ZipArchive::CREATE);
if ((integer)$errorCode > 0)
{
    throw new RuntimeException('Unable to open archive ' . $this->archiveName . 
' (Error: ' . $errorCode . ')');
}

if (empty($this->files))
{
    throw new RuntimeException('No files available to be added to the 
archive.');
}

foreach ($this->files as $filename => $filepath)
{
    $this->zipArchive->addFile($filepath, $filename);
}

if (!$this->zipArchive->close())
{
    throw new RuntimeException('An error occured while trying to write the 
archive.');
}

return $this->archiveName;



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



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

Reply via email to