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ů 🙂