imagecreatefromjpeg
не выдает исключение, если оно терпит неудачу.Для получения дополнительной информации об этом см. PHP: Как корректно управлять ошибками? .
Было бы лучше использовать функцию , упомянутую в комментариях к документации PHP дляfunction :
function open_image ($file) {
$size = getimagesize($file);
switch($size["mime"]){
case "image/jpeg":
$im = imagecreatefromjpeg($file); //jpeg file
break;
case "image/gif":
$im = imagecreatefromgif($file); //gif file
break;
case "image/png":
$im = imagecreatefrompng($file); //png file
break;
default:
$im=false;
break;
}
return $im;
}
Таким образом, вы полностью избегаете проблемы, поскольку она просто не пытается проанализировать файл как JPEG, если он не один.