使用ThinkPHP生成缩略图及显示


Posted in PHP onApril 27, 2017

使用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>

结果

数据库里存放路径

使用ThinkPHP生成缩略图及显示

图片

使用ThinkPHP生成缩略图及显示

前台显示

使用ThinkPHP生成缩略图及显示

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

PHP 相关文章推荐
实现dedecms全站URL静态化改造的代码
Mar 29 PHP
使用php shell命令合并图片的代码
Jun 23 PHP
PHP数组 为文章加关键字连接 文章内容自动加链接
Dec 29 PHP
深入解析yii权限分级式访问控制的实现(非RBAC法)
Jun 13 PHP
php实现的CSS更新类实例
Sep 22 PHP
php提取字符串中网站url地址的方法
Dec 03 PHP
yii实现CheckBox复选框在同一行显示的方法
Dec 03 PHP
用PHP代码在网页上生成图片
Jul 01 PHP
使用ThinkPHP生成缩略图及显示
Apr 27 PHP
PHP实现的多维数组去重操作示例
Jul 21 PHP
PHP PDOStatement::getAttribute讲解
Feb 01 PHP
php实现微信分享朋友链接功能
Feb 18 PHP
php实现头像上传预览功能
Apr 27 #PHP
php文件上传及下载附带显示文件及目录功能
Apr 27 #PHP
phpMyAdmin无法登陆的解决方法
Apr 27 #PHP
利用phpexcel对数据库数据的导入excel(excel筛选)、导出excel
Apr 27 #PHP
PHP实现网页内容html标签补全和过滤的方法小结【2种方法】
Apr 27 #PHP
PHP实现的常规正则验证helper公共类完整实例
Apr 27 #PHP
php上传excel表格并获取数据
Apr 27 #PHP
You might like
Windows Apache2.2.11及Php5.2.9-1的安装与配置方法
2009/06/08 PHP
PHP合并数组+与array_merge的区别分析
2010/08/01 PHP
PHP资源管理框架Assetic简介
2014/06/12 PHP
php搜索文件程序分享
2015/10/30 PHP
PHP编程之设置apache虚拟目录
2016/07/08 PHP
Laravel框架源码解析之入口文件原理分析
2020/05/14 PHP
JAVASCRIPT对象及属性
2007/02/13 Javascript
详解JavaScript对象类型
2016/06/16 Javascript
AngularJs基本特性解析(一)
2016/07/21 Javascript
浅析jQuery操作select控件的取值和设值
2016/12/07 Javascript
JS实现DIV高度自适应窗口示例
2017/02/16 Javascript
Nodejs实现文件上传的示例代码
2017/09/26 NodeJs
js实现购物车功能
2018/06/12 Javascript
详解vue-cli中模拟数据的两种方法
2018/07/03 Javascript
vue监听键盘事件的快捷方法【推荐】
2018/07/11 Javascript
Vue组件中的data必须是一个function的原因浅析
2018/09/03 Javascript
vue使用axios上传文件(FormData)的方法
2019/04/14 Javascript
微信小程序常见页面跳转操作简单示例
2019/05/01 Javascript
微信小程序实现上传多张图片、删除图片
2020/07/29 Javascript
原生js实现照片墙效果
2020/10/13 Javascript
[01:18]PWL开团时刻DAY10——一拳超人
2020/11/11 DOTA
python实现数值积分的Simpson方法实例分析
2015/06/05 Python
Python将一个CSV文件里的数据追加到另一个CSV文件的方法
2018/07/04 Python
python Flask 装饰器顺序问题解决
2018/08/08 Python
Python3非对称加密算法RSA实例详解
2018/12/06 Python
python装饰器常见使用方法分析
2019/06/26 Python
浅谈python中频繁的print到底能浪费多长时间
2020/02/21 Python
python+gdal+遥感图像拼接(mosaic)的实例
2020/03/10 Python
Python如何重新加载模块
2020/07/29 Python
pandas 按日期范围筛选数据的实现
2021/02/20 Python
html2canvas截图空白问题的解决
2020/03/24 HTML / CSS
生物科学专业个人求职信范文
2013/12/07 职场文书
设备售后服务承诺书
2014/05/30 职场文书
nginx处理http请求实现过程解析
2021/03/31 Servers
Flask response响应的具体使用
2021/07/15 Python
vue中div禁止点击事件的实现
2022/04/02 Vue.js