попробуйте это:
$jpgdata = file_get_contents('image.jpg');
if (substr($jpgdata,-2)!="\xFF\xD9") {
echo 'Bad file';
}
Это приведет к загрузке всего файла JPG в память и может привести к ошибке для больших файлов.
Альтернатива:
$jpgdata = fopen('image.jpg', 'r'); // 'r' is for reading
fseek($jpgdata, -2, SEEK_END); // move to EOF -2
$eofdata = fread($jpgdata, 2);
fclose($jpgdata);
if ($eofdata!="\xFF\xD9") echo 'Bad file';