Я считаю следующие работы:
Также обратите внимание, что:
(exif_imagetype ($ ImagePathAndName) == IMAGETYPE_JPEG)
читает только первые несколько байтов, ища заголовок изображения, поэтому недостаточно хорош для подтверждения, если изображение повреждено.
Ниже приведено логическое утверждение «и», т. Е. Оба эти теста должны быть пройдены, чтобы изображение квалифицировалось как действительное и не поврежденное и т. Д .:
if ((exif_imagetype($ImagePathAndName) == IMAGETYPE_JPEG) && (imagecreatefromjpeg( $ImagePathAndName ) !== false ))
{
echo 'The picture is a valid jpg<br>';
}
Примечание. Эту строку кода необходимо разместить в верхней части кода php, чтобы избежать появления предупреждающих сообщений от imagecreatefromjpeg ($ ImagePathAndName) при обнаружении поддельного / поврежденного файла изображения.
ini_set(‘gd.jpeg_ignore_warning’, 1);