thinkphp缩略图生成

发布时间:2015-12-14 13:42:13编辑:丝画阁阅读(1121)

$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;
        }
    }

关键字

上一篇:sitemap站点地图(3)

下一篇:敏感词过滤