PHP上传图片时,如何判断上传的文件是否为可用的图片文件

我用php上传图片通过后缀名能够正确判断图片的格式,但是假如我用一个其他格式文件,比如rar文件,直接修改了他的后缀名,同样能够上传,请问有没有什么办法能够避免这种情况出现,就是事先判断该文件是否为可用图片文件。谢谢.............

利用getimagesize函数:

function isImage($filename){
$types = '.gif|.jpeg|.png|.bmp';//定义检查的图片类型
if(file_exists($filename)){
$info = getimagesize($filename);
$ext = image_type_to_extension($info['2']);
return stripos($types,$ext);
}else{
return false;
}
}

if(isImage('test.jpg')!==false){
echo '是图片';
}else{
echo '不是';
}
温馨提示:内容为网友见解,仅供参考
第1个回答  2011-01-30
如果要判断图片,读取上传文件的前三字节,用这个数据来判断是否为图片。
第2个回答  2011-02-09
这里有一个无刷新多文件上传系统
里面可以判断文件多少 文件类型
里面有教程和源码

参考资料:http://www.blueidea.com/common/shoutbox/redir.asp?4=n&id=11280

第3个回答  2011-01-30
这可是个大问题,同问。
相似回答