ThinkPHP在线生成缩略图【原创

来源:https://www.sucaihuo.com/php/532.html 2015-10-14 05:32浏览(3373) 收藏

本文以京东商品详情http://item.jd.com/1856583.html为示例,来生成两张不同尺寸的图片:第一张是大图350*350,第二张 50*50的缩略图
ThinkPHP在线生成缩略图
分类:PHP > 函数 难易:中级
下载资源 下载积分: 225 积分

Thinkphp生成缩略图方法,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}" />

这个方法和Thinkphp的静态缓存搭配那就完美了,静态缓存调用方法:http://www.sucaihuo.com/php/167.html

标签: 缩略图
声明:本文为原创文章,如需转载,请注明来源sucaihuo.com并保留原文链接:https://www.sucaihuo.com/php/532.html
评论0
头像

系统已开启自动识别垃圾评论机制,识别到的自动封号,下载出错或者资源有问题请联系全栈客服QQ 1915635791

1 2