当前位置:首页 > PHP教程 > php图像处理 > 列表

php检查jpg图片是否损坏方法

发布:smiling 来源: PHP粉丝网  添加日期:2014-08-19 10:09:20 浏览: 评论:0 

可以教你个最简单的办法,对于JPG格式的图片,看最后两个字节是否是FFD9,如果不是的话,那么一般是不正常的,如果是其它格式的话,这个判断方式就不适用了.

正常的JPG文件都是以FFD8开头,FFD9结尾的,如果丢失了文件尾部,JPG仍然可以被识别,但是就会丢失部分图像数据.

当然,我说的这种只是简单的判断,可能丢失前的那段结尾的正好是FFD9,但显然还是不正确的,但基本够用,如果追求严谨,那么就得阅读JPEG的格式规范文档了,这已经不属于PHP的知识范畴了.

我试过判断图片格式和像素,你这显然不行,不够深入,要严谨,就必须深入了解JPG的存储.

至于php教程的GD库是否有相应的判断函数,我没关注过,你可以google,我就不多说了。欢迎你研究出来后共享,分享一个读取jpg的php文件,实例代码如下:

  1. $adress="IMG_XXX.JPG";  
  2. $exif = read_exif_data ($adress);  
  3. while(list($k,$v)=each($exif)) {  
  4. if($k=="Thumbnail"){  
  5. $fp=fopen ("/www/home/image/Thumbnail$adress",  
  6. 'a');  
  7. fwrite ($fp$v);  
  8. fclose ($fp);  
  9. echo "<br />n";  
  10. echo "n";  
  11. echo "<br />n";  
  12. }else//开源代码phpfensi.com 
  13. echo "$k: $v<br />n";  
  14. }  

Tags: php检查jpg 图片是否损坏

分享到: