Chyba, která se objevuje u nových verzí PHP. Objevuje se, pokud se pokoušíme vytvořit obrázek z JPG funkcí imagecreatefromjpeg(), avšak soubor není typu jpeg.
Dle dokumentace PHP má funkce imagecreatefromjpeg() vrátit false, ale v tomto případě vyhodí fatální chybu “JPEG library reports unrecoverable error” a skript skončí. Zřejmě je někde chyba v GD2 knihovně, nevím. V každém případě takto se chyba alespoň dá obejít.
function getImageFromFile($filePath)
{
switch(exif_imagetype($filePath))
{
case IMAGETYPE_JPEG:
return @\imagecreatefromjpeg($filePath);
break;
case IMAGETYPE_PNG:
return @\imagecreatefrompng($filePath);
break;
case IMAGETYPE_GIF:
return @\imagecreatefromgif($filePath);
break;
}
return null;
}
Vlastně se tato funkce hodí pro každý load obrázků 🙂