$file_name='C:\AppServ\www\_MG_9888.jpg';
$file_new='C:\AppServ\www\bbbb.jpg';
scal_pic($file_name,$file_new);
function scal_pic($file_name,$file_new){
//验证参数
if(!is_string($file_name) || !is_string($file_new)){
return false;
}
//获取图片信息
$pic_scal_arr = @getimagesize($file_name);
if(!$pic_scal_arr){
return false;
}
//获取图象标识符
$pic_creat = '';
switch($pic_scal_arr['mime']){
case 'image/jpeg':
$pic_creat = @imagecreatefromjpeg($file_name);
break;
case 'image/gif':
$pic_creat = @imagecreatefromgif($file_name);
break;
case 'image/png':
$pic_creat = @imagecreatefrompng($file_name);
break;
case 'image/wbmp':
$pic_creat = @imagecreatefromwbmp($file_name);
break;
default:
return false;
break;
}
if(!$pic_creat){
return false;
}
//判断/计算压缩大小
$max_width = 111;//最大宽度,象素,高度不限制
$min_width = 15;
$min_heigth = 20;
if($pic_scal_arr[0]<$min_width || $pic_scal_arr[1]<$min_heigth){
return false;
}
$re_scal = 0;
if($pic_scal_arr[0]>$max_width){
$re_scal = ($max_width / $pic_scal_arr[0]);
}
$re_width = round($pic_scal_arr[0] * $re_scal);
$re_height = round($pic_scal_arr[1] * $re_scal);
//创建空图象
$new_pic = @imagecreatetruecolor($re_width,$re_height);
if(!$new_pic){
return false;
}
//复制图象
if(!@imagecopyresampled($new_pic,$pic_creat,0,0,0,0,$re_width,$re_height,$pic_scal_arr[0],$pic_scal_arr[1])){
return false;
}
//输出文件
$out_file = '';
switch($pic_scal_arr['mime']){
case 'image/jpeg':
$out_file = @imagejpeg($new_pic,$file_new);
break;
case 'image/jpg':
$out_file = @imagejpeg($new_pic,$file_new);
break;
case 'image/gif':
$out_file = @imagegif($new_pic,$file_new);
break;
case 'image/bmp':
$out_file = @imagebmp($new_pic,$file_new);
break;
default:
return false;
break;
}
if($out_file){
return true;
}else{
return false;
}
}
php上传图片自动生成缩略图方法函数
最新推荐文章于 2021-03-23 09:46:49 发布