本文目錄一覽:
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’;
}
原創文章,作者:小藍,如若轉載,請註明出處:https://www.506064.com/zh-tw/n/193610.html