本文目录一览:
php判断一个文件的类型是否为图片格式(jpg gif png格式)用in array格式做
$kuozhan=array('jpg','gif','png');
$flag = 1; // 判断上传文件是否格式正确,正确则为1 , 有一个格式错误则0
// 循环,检测格式是否错误
foreach($val['tmp_name'] as $key=$us){
foreach($val['name'] as $key=$ns){
$arr=pathinfo($val['name'][$key]);
if(!in_array($arr['extension'],$kuozhan)){
echo " 上传失败,格式错误!";
$flag = 0; // 格式有错,flag为0
break;
}
}
}
// 上传文件
if ($flag == 1) {
循环上传文件
}
php判断文件是不是图片
利用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 '不是';
}
php怎么判断一个url是不是图片
可以分析HTTP头信息中的Content-Type。
php有获取头信息的函数get_headers():
// $url 为图片地址
$header = get_headers($url, 1);
// $headers['Content-Type'] 是URL的类型
$type = explode('/', $headers['Content-Type']);
if ($type[0] === 'image') {
// 这是一个图片
}
else {
// 这不是一个图片
}
关于get_headers()的具体信息,可以参见:
PHP手册:get_headers():
如果要写成一个函数,就是:
function is_image($url) {
$header = get_headers($url, 1);
$type = explode('/', $headers['Content-Type']);
if ($type[0] === 'image') {
// 这是一个图片
return TRUE;
}
else {
// 这不是一个图片
return FALSE;
}
}
这样就可以了。
PHP 图片类型判断 生成
你的代码不是都写好的吗,你在程序里面echo $file_type ;分别上传jpg、gif等图片,看看输出的类型的编码是什么,然后在程序里面分别判断即可,例如:
if ( $file_type == '???测试中看见的结果???') $img_r = imagecreatefromjpeg($src);
elseif ( $file_type == '???测试中看见的结果???') $img_r = imagecreatefromgif($src);
我的程序是使用的下面的方式检测文件类型,并且修正扩展名:
$tmp_name=$_FILES["$f_image"][tmp_name];
$imginfo=getimagesize($tmp_name);
//压缩宽度超过1024的图片为1024,100K以上的JPG图片用30%进行压缩
if ($imginfo[0]1024){
echo "你上传的图片幅面为 $imginfo[0] x $imginfo[1] ,将被压缩到1024个象素宽。br";
system('"C:\Program Files\ImageMagick-6.0.7-Q16\convert.exe"'." -sample 1024 -quality 80 $tmp_name $tmp_name");
} elseif($imginfo[2]==2 $src_size102400) system('"C:\Program Files\ImageMagick-6.0.7-Q16\convert.exe"'." -quality 60 $tmp_name $tmp_name");
//规范化图片文件扩展名
if ($imginfo[2]==1) $ext='gif';
elseif ($imginfo[2]==2) $ext='jpg';
elseif ($imginfo[2]==3) $ext='png';
elseif ($imginfo[2]==4) $ext='swf';
elseif ($imginfo[2]==5) $ext='psd';
elseif ($imginfo[2]==6) $ext='bmp';
elseif ($imginfo[2]==7) $ext='tiff';
elseif ($imginfo[2]==8) $ext='tiff';
//压缩BMP、TIFF文件为JPG格式
if ($imginfo[2]==6 || $imginfo[2]==7 || $imginfo[2]==8){
system('"C:\Program Files\ImageMagick-6.0.7-Q16\convert.exe"'." -quality 80 $tmp_name $tmp_name.jpg");
rename("$tmp_name.jpg",$tmp_name);
$ext='jpg';
}