Re: zip_entry_read buggy? runs endless on file with crc-error - freezes on corrupt file

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



On Dec 8, 2010, at 6:42 PM, Merlin Morgenstern wrote:

> Hi there,
> 
> I am running a php file via cron where zip files will be extracted with the help of zip_entry_read. This worked great until I had a corrupted zip file to extract. This braught the server down as the php script never ended. The function max_execution_time does not help as it zip is a system function so the php script did run endless until the cron job trigered the next execution a minute later and so on!
> 
> It seams that the zip_entry_read function is buggy. I found 2 people with the similar problem, but no solution:
> http://www.mombu.com/php/functions-forum/t-zip-freezes-how-to-handle-corrupt-crc-in-zip-file-3565173.html
> http://coding.derkeiler.com/Archive/PHP/php.general/2007-08/msg00924.html
> 
> When I do a unzip on the console I do get following error from zip:
> unzip 25_459.zip
> Archive:  25_459.zip
> error [25_459.zip]:  missing 2203 bytes in zipfile
>  (attempting to process anyway)
> retry - request = 0x4294965093
> error [25_459.zip]:  attempt to seek before beginning of zipfile
>  (please check that you have transferred or created the zipfile in the
>  appropriate BINARY mode and that you have compiled UnZip properly)
>  (attempting to re-compensate)
>  inflating: 459-03.jpg               bad CRC b29a30c7  (should be 5a63b1bc)
> file #2:  bad zipfile offset (local header sig):  94422
>  (attempting to re-compensate)
> file #2:  bad zipfile offset (local header sig):  94422
> file #3:  bad zipfile offset (local header sig):  179720
> file #4:  bad zipfile offset (local header sig):  268127
> file #5:  bad zipfile offset (local header sig):  358277
> file #6:  bad zipfile offset (local header sig):  442834
> file #7:  bad zipfile offset (local header sig):  524802
> file #8:  bad zipfile offset (local header sig):  615587
> 
> How can i make zip_entry_read exit on error to solve the problem?

Merlin,

If everything works fine from the command line why not just use the command line using exec()?  That's what I do.

Tom


-- 
PHP General Mailing List (http://www.php.net/)
To unsubscribe, visit: http://www.php.net/unsub.php




[Index of Archives]     [PHP Home]     [Apache Users]     [PHP on Windows]     [Kernel Newbies]     [PHP Install]     [PHP Classes]     [Pear]     [Postgresql]     [Postgresql PHP]     [PHP on Windows]     [PHP Database Programming]     [PHP SOAP]

  Powered by Linux