Doc #51541 [Asn->Opn]: ZipArchive::addFile does not really add files
| From: | kalle@php.net | Date: | Fri, 22 Oct 2010 13:48:51 +0000 |
| Subject: | Doc #51541 [Asn->Opn]: ZipArchive::addFile does not really add files | ||
| References: | 1 | Groups: | php.doc.bugs |
| Request: | Send a blank email to doc-bugs+get-5333@lists.php.net to get a copy of this message | ||
Edit report at http://bugs.php.net/bug.php?id=51541&edit=1
ID: 51541
Updated by: kalle@php.net
Reported by: juwe at clasennet dot de
Summary: ZipArchive::addFile does not really add files
-Status: Assigned
+Status: Open
Type: Documentation Problem
-Package: Zip Related
+Package: Documentation problem
Operating System: Linux
PHP Version: 5.3SVN-2010-04-12 (SVN)
-Assigned To: pajoye
+Assigned To:
Block user comment: N
Previous Comments:
------------------------------------------------------------------------
[2010-06-30 00:47:35] brianwigginton at gmail dot com
This nailed me for about 3 hours earlier today. Documentation revision
would be killer!
ZipArchive::GetStatusString reports a read error, but only after closing
the file
------------------------------------------------------------------------
[2010-04-12 11:41:41] pajoye@php.net
This behavior was the same in previous before but you would not be able
to actually delete the file (file lock).
It should definitively be part of the documentation.
------------------------------------------------------------------------
[2010-04-12 11:37:24] juwe at clasennet dot de
Description:
------------
Could you please let the documentation for ZipArchive::addFile()
reflect, that the function doesn't really add the added files content to
the zip archive any longer?
As it seems, the files content is only read when storing the files now,
as opposed to 5.2.8. So, if you delete a file directly after adding it
to a zip archive, the archive won't be created any longer.
I'm not really sure, if this is a bug, since the return value of
addFile() isn't true any longer, or if this is just a documentation
problem.
Personaly, I don't care either way. I just spend about two hours, until
I realized where the problem was. Having a reminder in the docs would
have reduced this time down to about five minutes...
There is a bug report (#40494) talking about such information in the
manual, but the bug was marked bogus, and the manual was never updated.
Essentially, that's why I opened this one as a documentation problem.
Test script:
---------------
<?php
// works in PHP 5.2.8:
$zipArchive='/path/2/my/archive';
$filesToAdd=array('/path/2/file1.ext',
'/path/2/file2.ext',
'/path/2/file3.ext');
$zip=new ZipArchive();
if(true===$zip->open($zipArchive,ZIPARCHIVE::CREATE))
foreach($filesToAdd as $file)
if($zip->addFile($file,basename($file)))
unlink($file);
$zip->close();
/* Expected result:
* Zip archive exists and contains the right data
*
* Actual result:
* Version 5.2.8:
* - Works flawlessly & as expected
* Version 5.3.99-dev
* - No zip archive created
* - ZipArchive::GetStatusString reports a read error,
* but only after closing the file
*/
?>
Expected result:
----------------
Zip archive exists and contains the right data.
Actual result:
--------------
Version 5.2.8:
- Works flawlessly & as expected
Version 5.3.99-dev
- No zip archive created
- ZipArchive::GetStatusString reports a read error,
but only after closing the file
------------------------------------------------------------------------
--
Edit this bug report at http://bugs.php.net/bug.php?id=51541&edit=1