Как игнорировать fatal error?

antono

Новичок
Как игнорировать fatal error?

Функция imagecreatefrompng на некоторых картинках выдает fatal error и останавливает скрипт. Как игнорировать эту ошибку чтобы скрипт продолжал дальше работать?
 
antono
Писать скрипты без ошибок. Не стоит игнорировать даже Notice и Strict Standards, не то что Fatal error...
 

Фанат

oncle terrible
Команда форума
мля.
граждане отвечающие.
ВОПРОС ЧИТАТЬ НЕ ПРОБОВАЛИ?

-~{}~ 14.08.07 12:12:

antono
вообще, очень странные вещи ты пишешь.
если imagecreatefrompng не может создать картинку, то она выдает не фатальную ошибку.

ты не мог бы потрудиться привести здесь точный текст ошибки, а не свой краткий пересказ?
заранее большое спасибо за труды
 

jonjonson

Охренеть
*****, у меня подобная проблема была при нехватки памяти.
Вываливался сам php, а не функция в какое-либо восстановимое состояние.
Помогло только увеличение памяти.
 

Фанат

oncle terrible
Команда форума
ну, вообще логично.
в общем, нужно сообщение об ошибке, а не отсебятина.
 

antono

Новичок
Вот что вываливает:

Fatal error: imagecreatefrompng(): gd-png: fatal libpng error: IDAT: CRC error in /home/test/site.ru/phpbb/test.php on line 13


Дело не в нехватке памяти, т.к. картинки маленькие по 10-20 кб.

Картинки действительно ошибочные, когда их смотришь визуально. Может как-то проверять png перед imagecreatefrompng?
 

Фанат

oncle terrible
Команда форума
попробуй обновить пхп и/или гд
фаталов она не должна выдавать.
 

antono

Новичок
А другого варианта нет? Мне не так уж важно что эта картинка не прочитается, эта ошибка очень редко выскакивае. Можно ли такие ошибки игнорировать и продолжать выполнение скипта?
 

tony2001

TeaM PHPClub
>Можно ли такие ошибки игнорировать и продолжать выполнение скипта?
нет.
именно поэтому они называются "фатальными".
 

antono

Новичок
***** спасибо, применил скрипт из листинга 2.
Делаю лог скрипта на жеский диск, затем при его остановке запускаю его заново.

Кстати пробовал запускать imagecreatefrompng на 3 различных хостингах и на локальном компьютере - везде fatal error.
 

antono

Новичок
Версии: 4.4.2, 4.3.10


Вот попробовал на PHP 5 версии, выдает 3 варнинга и не прекращает работу:

Warning: imagecreatefrompng() [function.imagecreatefrompng]: gd-png: fatal libpng error: Extra compressed data in /usr/home/admin/domains/site.ru/public_html/1.php on line 6

Warning: imagecreatefrompng() [function.imagecreatefrompng]: gd-png error: setjmp returns error condition in /usr/home/admin/domains/site.ru/public_html/1.php on line 6

Warning: imagecreatefrompng() [function.imagecreatefrompng]: 'image.png' is not a valid PNG file in /usr/home/admin/domains/site.ru/public_html/1.php on line 6
 

tony2001

TeaM PHPClub
>Версии: 4.4.2, 4.3.10
о, ну это уже прошлый век.

>Вот попробовал на PHP 5 версии, выдает 3 варнинга и не прекращает работу
ч. и т.д.
 
Сверху