Re: Re: ZipArchive question
| From: | Christoph Becker | Date: | Thu, 09 Apr 2015 00:28:57 +0000 |
| Subject: | Re: Re: ZipArchive question | ||
| References: | 1 2 3 | Groups: | php.general |
| Request: | Send a blank email to php-general+get-324790@lists.php.net to get a copy of this message | ||
Jeffry Killen wrote:
> On Apr 8, 2015, at 3:04 PM, Christoph Becker wrote:
>
>> Jeffry Killen wrote:
>>
>>> My question is: Where is the test.zip archive file located? (/tmp,
>>> maybe?)
>>> I would expect it to be in the same dir as the processing script, but I
>>> don't see anything in the dir
>>> by the name of test.zip.
>>
>> I might be completely wrong, but I believe that the actual test.zip is
>> only created if everything worked out fine (including that the zip won't
>> be empty). So unless you're getting "good to go: ...", there won't be
>> a
>> zip file.
>>
>> If everything works well, the file is supposed to be created in the
>> current working directory, i.e. the usually the directory of the
>> requested script.
>
> Thank you for the inro:
>
> As it turns out, the cwd of the script did not have adequate write
> permissions set.
> Once I corrected that problem I got the test.zip file to show up.
> But I am wondering why I did not get the error code:
> ZIPARCHIVE::ER_OPEN
>
> Can't open file... if write permissions where wrong?
I agree that there should be some error indication (not sure if ER_OPEN
would be appropriate when creating a file, though) instead of returning
TRUE. Did you get any warning/notice in the error log (presuming that
you have error_reporting set to an appropriate value for development)?
Also, maybe the error is reported only when ->close() is called. It
might be worthwhile to check its return value.
Unfortunately, I can't easily try it myself because I'm on Windows 7
Home, where I do not easily have access to the ACL (it was possible with
XP, but I had to reboot into safe mode; don't know if that's possible
with Win7). Maybe you want to spend some further time on the issue and
file a respective bug report[1] if appropriate.
> I ran across user comments on the php.net site for ZipArchive claiming that
>
> addEmptyDir was remove or disabled, and in fact I couldn't get it to work.
I just tried that with PHP 5.4.19, and it worked fine. I can imagine,
though, that empty directories might not be displayed by all zip
readers, and actually I'm not sure if zip archives do store directories
at all; quite likely only files are stored. Anyhow, the issue seems to
demand further investigation. It seems there are no respective reports
in the PHP bug tracker.[2]
> I also discovered that calling download code from an async get request
> wouldn't
>
> work. I just got the contents of the zip file returned to the origin
> page (as I coded it
>
> in the original message).
That's to be expected. If you use XMLHttpRequest (or a wrapper) to
request a download, the response can be received, but it can't be stored
in the file system of the client due to security considerations.
> Thanks for time and attention:
You're welcome.
[1] <https://bugs.php.net/>
[2] <https://bugs.php.net/search.php?cmd=display&search_for=addemptydir>
--
Christoph M. Becker