基于thinkphp的省略图便捷函数

 1 /**
 2      * 生成缩略图
 3      * @param string $image  原图路径 例:thumb_5242d9082fcdc.jpg
 4      * @param string $type 图像格式
 5      * @param string $maxWidth  宽度
 6      * @param string $maxHeight  高度
 7      * @param boolean $interlace 启用隔行扫描
 8      * @return string 如果生成成功,则会返回原图名称会被加上前缀    thumb$maxWidth*$maxHeight_    例:thumb200*100_5242d9082fcdc.jpg 否则返回空
 9      */
10 function mythumb($image,  $type='', $maxWidth=200, $maxHeight=100, $interlace=true) {
11     if (file_exists($image)) {
12         return null;
13     }
14     $bn = basename($image);
15     $parts = explode($bn, $image);
16     $thumbname = '.'.UPLOAD_PATH.'/'.$parts[0]."thumb$maxWidth*$maxHeight".'_'.$bn;
17     if (file_exists($thumbname)) {//已经存在该图片的省略图则直接返回省略图的路径名
18         return $parts[0]."thumb$maxWidth*$maxHeight".'_'.$bn;
19     }
20     import('ORG.Util.Image');
21     $thumnbpath = Image::thumb('.'.UPLOAD_PATH.'/'.$image, $thumbname, $type, $maxWidth, $maxHeight, $interlace);
22     $thumnbpath = substr($thumnbpath, strlen('.'.UPLOAD_PATH.'/'));
23     
24     return ($thumnbpath);
25 }
阅读代码

放在公共函数文件里。

例子:

<img src='__UPLOAD__/{$detail.goodspic|mythumb}' />

  

posted @ 2013-09-27 20:21  严夏炎冬  阅读(286)  评论(0编辑  收藏  举报