可以教你個最簡單的辦法,對於JPG格式的圖片,看最後兩個字節是否是FFD9
如果不是的話,那麼一般是不正常的。如果是其它格式的話,這個判斷方式就不適用了。
正常的JPG文件都是以FFD8開頭,FFD9結尾的,如果丟失了文件尾部,JPG仍然可以被識別,但是就會丟失部分圖像數據。
--------
當然,我說的這種只是簡單的判斷,可能丟失前的那段結尾的正好是FFD9,但顯然還是不正確的,但基本夠用。如果追求嚴謹,那麼就得閱讀JPEG的格式規范文檔了,
這已經不屬於PHP的知識范疇了。
我試過判斷圖片格式和像素
你這顯然不行,不夠深入,要嚴謹,就必須深入了解JPG的存儲。
至於php教程的GD庫是否有相應的判斷函數,我沒關注過,你可以google,我就不多說了。歡迎你研究出來後共享
分享一個讀取jpg的php文件
$adress="IMG_XXX.JPG";
$exif = read_exif_data ($adress);
while(list($k,$v)=each($exif)) {
if($k=="Thumbnail"){
$fp=fopen ("/www/home/image/Thumbnail$adress",
'a');
fwrite ($fp, $v);
fclose ($fp);
echo "<br />n";
echo "n";
echo "<br />n";
}else{
echo "$k: $v<br />n";
}
}