网上很多方法,这里简单总结一下
两个步骤,一个是判断文件后缀,二个是使用 getimagesize。
下面摘自php中文手册
说明
array getimagesize ( string $filename [, array &$imageinfo ] )getimagesize() 函数将测定任何 GIF,JPG,PNG,SWF,SWC,PSD,TIFF,BMP,IFF,JP2,JPX,JB2,JPC,XBM或 WBMP 图像文件的大小并返回图像的尺寸以及文件类型和一个可以用于普通 HTML 文件中 IMG 标记中的 height/width 文本字符串。如果不能访问 filename指定的图像或者其不是有效的图像,getimagesize()将返回 FALSE 并产生一条 E_WARNING 级的错误。
所以只需要这样判断判断即可:(strrchr作用是截取从最后一个所查找字符的位置开始的的字符。)
if( !in_array(strrchr ( $filename , "." ), array('jpg','png','gif') || !getimagesize($filename)){
return false;
}