本文作者:心月

Thinkphp5自定义生成缩略图尺寸的方法

心月IT博客 2019-11-07
Thinkphp5自定义生成缩略图尺寸的方法摘要:在thinkphp5中生成缩率图还是很简单的,可以使用TP自带的Image类方法来实现,用Image类中的方法写一个生成缩略图的公共函数,把图片尺寸设置成参数,这样一来就可以在需要生成缩率图的地方直接调用即可。

Thinkphp5自定义生成缩略图尺寸的方法,本实例中生成两张不同尺寸的图片:第一张是大图350*350,第二张 50*50的缩略图

自定义缩略图效果

在thinkphp5中生成缩率图还是很简单的,可以使用TP自带的Image类方法来实现,用Image类中的方法写一个生成缩略图的公共函数,把图片尺寸设置成参数,这样一来就可以在需要生成缩率图的地方直接调用即可

function getLogo($logo, $width, $height, $name) { 
   $fileArr = pathinfo($logo); 
   $dirname = $fileArr['dirname']; 
   $filename = $fileArr['filename']; 
   $extension = $fileArr['extension']; 
   $logo_rs = ""; 
   if ($width > 0 && $height > 0) { 
     $name_thumb = $dirname . "/" . $filename . "_" . $width . "_" . $height . "." . $extension; 
     if (!file_exists($name_thumb)) { 
       if (file_exists($logo)) { 
         $image = new \Think\Image(); 
         $image->open($logo); 
         $image->thumb($width, $height)->save($name_thumb); 
       } else { 
         $name_thumb = ""; 
       } 
     } 
     if ($name_thumb) { 
       $logo_rs = $name_thumb; 
     } 
   } else { 
     $logo_rs = $logo; 
   } 
   if ($logo_rs) { 
     if ($name) { 
       return "<img src='" . __APP__ . "/" . $logo_rs . "' alt='" . $name . "'/>"; 
     } else { 
       return __APP__ . "/" . $logo_rs; 
     } 
   } 
 }

模版自定义缩略图高度和宽度:生成350*350的缩略图,其它尺寸同理:

<img alt="350*350" src="{$logo|getLogo=###,350,350}" />


文章版权及转载声明:

本文由 心月IT技术博客 博主整理于 2019-11-07
若转载请注明原文及出处:https://www.xinyueseo.com/thinkphp/475.html

分享到:
赞(
发表评论
快捷输入:

验证码

    评论列表 (有 1 条评论,人围观)参与讨论
    网友昵称:心月IT博客网友
    心月IT博客网友游客2020-07-30回复
    [S][/S][U][/U][U][/U][B][/B][I][/I][B][/B][S][/S]文章不错,写的很好!emmmmm。。看不懂怎么破?文章不错,写的很好!赞、狂赞、超赞、不得不赞、史上最赞!赞、狂赞、超赞、不得不赞、史上最赞!赞、狂赞、超赞、不得不赞、史上最赞!赞、狂赞、超赞、不得不赞、史上最赞!赞、狂赞、超赞、不得不赞、史上最赞!赞、狂赞、超赞、不得不赞、史上最赞!赞、狂赞、超赞、不得不赞、史上最赞!赞、狂赞、超赞、不得不赞、史上最赞!赞、狂赞、超赞、不得不赞、史上最赞!赞、狂赞、超赞、不得不赞、史上最赞!赞、狂赞、超赞、不得不赞、史上最赞!