thinkphp缩略图生成
发布时间:2015-12-14 13:42:13编辑:丝画阁阅读(1126)
$url 图片在浏览器中显示的地址
$width缩略图宽度
$height缩略图高度
$iscreated 是否总是创建新的缩略图
$type='Picture' 缩略图类型
$rootpath='' 缩略图存放根目录
function image_thumb($url,$width,$height,$iscreated=false,$type='Picture',$rootpath=''){
$path_parts = pathinfo($url);
$dirname = $path_parts['dirname'];
$dirarray = explode('Uploads/'.$type.'/',$dirname);
if(empty($rootpath)){
$uploadimage = C('PICTURE_UPLOAD');//获取上传图片的文件夹地址
$newdirname = $uploadimage['rootPath'].$dirarray[1].'/';
}else{
$newdirname = $rootpath.$dirarray[1].'/';
}
$reurl = $newdirname.$path_parts['basename'];//原图地址
$newimagename = $path_parts['filename'].'_'.$width.'x'.$height.'.'.$path_parts['extension'];
$newurl = $newdirname.$newimagename;//缩略图片地址
if(is_file($reurl)){
//判断文件是否存在,如果存在则不生成,
if(!is_file($newurl) || $iscreated){
$image = new \Think\Image();
$image->open($reurl);
// 按照原图的比例生成一个最大为150*150的缩略图并保存为thumb.jpg
$b = $image->thumb($width, $height)->save($newurl,null,100);
}
}
//如果创建成功,图片存在则返回图片,如果不存在,则返回原地址。
if(is_file($newurl)){
$newurl = $path_parts['dirname'].'/'.$newimagename;
return $newurl;
}else{
return $url;
}
}