使用ThinkPHP生成缩略图及显示

5年以前  |  阅读数:367 次  |  编程语言:PHP 

使用ThinkPHP生成缩略图及显示,具有一定的参考价值,感兴趣的小伙伴们可以参考一下

首先了解父类Image.class.php(ThinkPHP/Library/Think/Image.class.php)中的一些函数

1:open() 打开被处理的图片

2:thumb() 生成缩略图 默认1等比缩放 (其中2,3,4,5,6代表的含义参见父类文件Image.class.php)

3:save() 缩略图到服务器

生成缩略图步骤分以下四步

  • 1.实例化
  • 2.打开图片open()
  • 3.生成缩略图thumb() 默认等比缩放
  • 4.保存save()

控制器代码:


    //大图路径(此处大图路径可参考上篇 "使用ThinkPHP实现附件上传"的上传路径)
    $bigimg_path = $upload->rootPath.$file_info['savepath'].$file_info['savename'];
    //小图路径
    $smallimg_path = $upload->rootPath.$file_info['savepath'].'small_'.$file_info['savename'];

    $img = new \Think\Image(); //实例化
    $img->open($bigimg_path); //打开被处理的图片
    $img->thumb(100,100); //制作缩略图(100*100)
    $img->save($smallimg_path); //保存缩略图到服务器

    //把上传好的附件及缩略图存到数据库
    $_POST['goods_big_img']=$bigimg_path;
    $_POST['goods_small_img']=$smallimg_path; 


入口文件设置常量

为前台显示缩略图路径方便,在入口文件index.php设置常量,表示站点路径,和数据库存放的图片路径拼接

define('SITE_URL', 'http://www.tp.com/TP/shop/');

前台显示大图及缩略图


    <td><!-- 大图 -->
     <img src="<{$smarty.const.SITE_URL}><{$v.goods_big_img}>" height="60" width="60">
    </td>
    <td><!-- 小图 -->
     <img src="<{$smarty.const.SITE_URL}><{$v.goods_small_img}>" height="40" width="40">
    </td>

结果

数据库里存放路径

图片

前台显示

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持脚本之家。

 相关文章:
PHP分页显示制作详细讲解
SSH 登录失败:Host key verification failed
获取IMSI
将二进制数据转为16进制以便显示
获取IMEI
文件下载
贪吃蛇
双位运算符
PHP自定义函数获取搜索引擎来源关键字的方法
Java生成UUID
发送邮件
年的日历图
提取后缀名
在Zeus Web Server中安装PHP语言支持
让你成为最历害的git提交人
Yii2汉字转拼音类的实例代码
再谈PHP中单双引号的区别详解
指定应用ID以获取对应的应用名称
Python 2与Python 3版本和编码的对比
php封装的page分页类完整实例