[PHP] zip freezes - how to handle corrupt CRC in zip-file
Hi @all, i´m reading zip-files with the php zip-functions without a problem. Now i got and Zip containing an corrupt crc (If i open this file via winzip, the error is shown). It looks like the php functions for zip-handeling "zip_entry_read" and "ZipArchive::getFrom..." do not quit on a bad crc checksum so these functions read in the file and than are in an infinite loop. Because i use PHP-GTK2 my tool feezes and the process has to be killed. On an web-enviroment this could also a big problem . ok, user-zip handeling on web is not the best idea :-) I´ve found no way to find out, if an file in the zip file is an valid or corrupt entry. The output of "ZipArchive::statName" give me no info about the state of an entry. Is there any trick out there, how to manage this problem. Maybe this is an bug or missing feature in the zip extensions. Dont know! Regards, Andreas -- View this message in context: http://www.nabble.com/zip-freezes---how-to-handle-corrupt-CRC-in-zip-file-tf4266474.html#a12142189 Sent from the PHP - General mailing list archive at Nabble.com. -- PHP General Mailing List (http://www.php.net/) To unsubscribe, visit: http://www.php.net/unsub.php
Re: [PHP] zip freezes - how to handle corrupt CRC in zip-file
Hi Sanjeev, thank you for your fast answer. what do you mean with "error handling function" ()? If i read in the zip_entry, the function is freezing no chance to handle the error, because php dont give me an error or exception. If php find a corrupt file, it freezes on this position. Maybe i can post the corrupt zip, so somebody can try it :-) Thank you for your idea. Andreas Sanjeev N wrote: > > Use error handling function for time being and exit from the loop > where control going in the loop. > > > On 8/14/07, ecc <[EMAIL PROTECTED]> wrote: >> >> >> Hi @all, >> >> i´m reading zip-files with the php zip-functions without a problem. Now i >> got and Zip containing an corrupt crc (If i open this file via winzip, >> the >> error is shown). >> >> It looks like the php functions for zip-handeling "zip_entry_read" and >> "ZipArchive::getFrom..." do not quit on a bad crc checksum so these >> functions read in the file and than are in an infinite loop. Because i >> use >> PHP-GTK2 my tool feezes and the process has to be killed. On an >> web-enviroment this could also a big problem . ok, user-zip handeling >> on >> web is not the best idea :-) >> >> I´ve found no way to find out, if an file in the zip file is an valid or >> corrupt entry. The output of "ZipArchive::statName" give me no info about >> the state of an entry. >> >> Is there any trick out there, how to manage this problem. Maybe this is >> an >> bug or missing feature in the zip extensions. Dont know! >> >> Regards, >> Andreas >> -- >> View this message in context: >> http://www.nabble.com/zip-freezes---how-to-handle-corrupt-CRC-in-zip-file-tf4266474.html#a12142189 >> Sent from the PHP - General mailing list archive at Nabble.com. >> >> -- >> PHP General Mailing List (http://www.php.net/) >> To unsubscribe, visit: http://www.php.net/unsub.php >> >> > > > -- > Warm Regards > Sanjeev > > http://www.sanchanworld.com/ > http://webdirectory.sanchanworld.com/ > http://webhosting.sanchanworld.com/ > > -- View this message in context: http://www.nabble.com/zip-freezes---how-to-handle-corrupt-CRC-in-zip-file-tf4266474.html#a12142440 Sent from the PHP - General mailing list archive at Nabble.com. -- PHP General Mailing List (http://www.php.net/) To unsubscribe, visit: http://www.php.net/unsub.php
Re: [PHP] zip freezes - how to handle corrupt CRC in zip-file
Ah, fine. How do i use this ZIPARCHIVE::CHECKCONS flag? Something like that should work, i think? $zip = new ZipArchive; $res = $zip->open ( $filename ZIPARCHIVE::CHECKCONS ); if (TRUE === $res) { # all looks fine } elseif { switch($res){ case ZIPARCHIVE::ER_INCONS: # do some error handeling break; } # test these errors # ZIPARCHIVE::ER_EXISTS # ZIPARCHIVE::ER_INCONS # ZIPARCHIVE::ER_INVAL # ZIPARCHIVE::ER_MEMORY # ZIPARCHIVE::ER_NOENT # ZIPARCHIVE::ER_NOZIP # ZIPARCHIVE::ER_OPEN # ZIPARCHIVE::ER_READ # ZIPARCHIVE::ER_SEEK } Richard Lynch wrote: > > On Tue, August 14, 2007 5:42 am, ecc wrote: >> i´m reading zip-files with the php zip-functions without a problem. >> Now i >> got and Zip containing an corrupt crc (If i open this file via winzip, >> the >> error is shown). >> >> It looks like the php functions for zip-handeling "zip_entry_read" and >> "ZipArchive::getFrom..." do not quit on a bad crc checksum so >> these >> functions read in the file and than are in an infinite loop. Because i >> use >> PHP-GTK2 my tool feezes and the process has to be killed. On an >> web-enviroment this could also a big problem . ok, user-zip >> handeling on >> web is not the best idea :-) >> >> I´ve found no way to find out, if an file in the zip file is an valid >> or >> corrupt entry. The output of "ZipArchive::statName" give me no info >> about >> the state of an entry. >> >> Is there any trick out there, how to manage this problem. Maybe this >> is an >> bug or missing feature in the zip extensions. Dont know! > > Perhaps checking the consistency with this ZIPARCHIVE::CHECKCONS flag > would help. > > This is just a wild guess. > > -- > Some people have a "gift" link here. > Know what I want? > I want you to buy a CD from some indie artist. > http://cdbaby.com/browse/from/lynch > Yeah, I get a buck. So? > > -- > PHP General Mailing List (http://www.php.net/) > To unsubscribe, visit: http://www.php.net/unsub.php > > > -- View this message in context: http://www.nabble.com/zip-freezes---how-to-handle-corrupt-CRC-in-zip-file-tf4266474.html#a12161999 Sent from the PHP - General mailing list archive at Nabble.com. -- PHP General Mailing List (http://www.php.net/) To unsubscribe, visit: http://www.php.net/unsub.php
Re: [PHP] zip freezes - how to handle corrupt CRC in zip-file
Ok, yesterday i´ve tried this... the command freezese. No chance to get an error from the archive. Am i stupid? The original zip tool give me an error on bad crc in a file, php quits with an freeze. I´ve tried also the crc error. No chance. The $zip->open always give me and TRUE as return value. If i think, this is an bug, where can i add this? Regards, Andreas ecc wrote: > > Ah, fine. How do i use this ZIPARCHIVE::CHECKCONS flag? > > Something like that should work, i think? > > $zip = new ZipArchive; > $res = $zip->open ( $filename ZIPARCHIVE::CHECKCONS ); > if (TRUE === $res) { > # all looks fine > } > else { > switch($res){ > case ZIPARCHIVE::ER_INCONS: > # do some error handeling > break; > } > # test these errors > # ZIPARCHIVE::ER_EXISTS > # ZIPARCHIVE::ER_INCONS > # ZIPARCHIVE::ER_INVAL > # ZIPARCHIVE::ER_MEMORY > # ZIPARCHIVE::ER_NOENT > # ZIPARCHIVE::ER_NOZIP > # ZIPARCHIVE::ER_OPEN > # ZIPARCHIVE::ER_READ > # ZIPARCHIVE::ER_SEEK > } > > > Richard Lynch wrote: >> >> On Tue, August 14, 2007 5:42 am, ecc wrote: >>> i´m reading zip-files with the php zip-functions without a problem. >>> Now i >>> got and Zip containing an corrupt crc (If i open this file via winzip, >>> the >>> error is shown). >>> >>> It looks like the php functions for zip-handeling "zip_entry_read" and >>> "ZipArchive::getFrom..." do not quit on a bad crc checksum so >>> these >>> functions read in the file and than are in an infinite loop. Because i >>> use >>> PHP-GTK2 my tool feezes and the process has to be killed. On an >>> web-enviroment this could also a big problem . ok, user-zip >>> handeling on >>> web is not the best idea :-) >>> >>> I´ve found no way to find out, if an file in the zip file is an valid >>> or >>> corrupt entry. The output of "ZipArchive::statName" give me no info >>> about >>> the state of an entry. >>> >>> Is there any trick out there, how to manage this problem. Maybe this >>> is an >>> bug or missing feature in the zip extensions. Dont know! >> >> Perhaps checking the consistency with this ZIPARCHIVE::CHECKCONS flag >> would help. >> >> This is just a wild guess. >> >> -- >> Some people have a "gift" link here. >> Know what I want? >> I want you to buy a CD from some indie artist. >> http://cdbaby.com/browse/from/lynch >> Yeah, I get a buck. So? >> >> -- >> PHP General Mailing List (http://www.php.net/) >> To unsubscribe, visit: http://www.php.net/unsub.php >> >> >> > > -- View this message in context: http://www.nabble.com/zip-freezes---how-to-handle-corrupt-CRC-in-zip-file-tf4266474.html#a12177487 Sent from the PHP - General mailing list archive at Nabble.com. -- PHP General Mailing List (http://www.php.net/) To unsubscribe, visit: http://www.php.net/unsub.php
[PHP] 7zip extension available
Hi, i´ve searched a little bit, but found no page talking about an 7zip (.7z) extension for php. Is there an way to extract data from 7zip archives from within an php script? Thank you for your help! -- View this message in context: http://www.nabble.com/7zip-extension-available-tp14624641p14624641.html Sent from the PHP - General mailing list archive at Nabble.com. -- PHP General Mailing List (http://www.php.net/) To unsubscribe, visit: http://www.php.net/unsub.php
[PHP] file_get_contents crash, if file is bigger than memory_limit
I really dont know, if this is the right board for this... but i think, i have to write it down. Please throw an error, if file_get_contents cant read a file because memory_limit overflow! I´ve programmed a tool parsing checksums from large files. Because i have to manage header-offsets, i have to read the files using file_get_contents. (This should be the fastest way for this task says the manual... right!) The problem is, that if the memory_limit in the php.ini is set to 64MB, and the file read in by file_get_contents is bigger than 64MB, file_get_contents crashes without an EXCETPION. This crash cant be catched! I want handle this this way: try{ $data = file_get_contents($file); } catch (MemoryLimitReachedException $e){ // try the same using a while loop reading the data! (This works!) } Hope, there is a solution for this. Thank you. Andreas http://www.php-gtk.eu/apps/emucontrolcenter -- View this message in context: http://www.nabble.com/file_get_contents-crash%2C-if-file-is-bigger-than-memory_limit-tf3971711.html#a11273559 Sent from the PHP - General mailing list archive at Nabble.com. -- PHP General Mailing List (http://www.php.net/) To unsubscribe, visit: http://www.php.net/unsub.php
Re: [PHP] Strange Fatal Error Possibly Memory
Maybe this is an error/exception in the exception handeler... :-) Sometimes we had this error in these cases! -- View this message in context: http://www.nabble.com/Strange-Fatal-Error-Possibly-Memory-tf3960349.html#a11273616 Sent from the PHP - General mailing list archive at Nabble.com. -- PHP General Mailing List (http://www.php.net/) To unsubscribe, visit: http://www.php.net/unsub.php