使用ThinkPHP生成缩略图及显示

发布时间 - 2026-01-11 00:52:38    点击率:

使用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实现上传图片及生成缩略图功能示例  # yii实现图片上传及缩略图生成的方法  # thinkphp5上传图片及生成缩略图公共方法(分享)  # 上传  # 小图  # 有一定  # 感兴趣  # 大家多多  # 上篇  # 库里  # 小伙伴们  # upload  # bigimg_path  # pre  # brush  # gt  # savename  # smallimg_path  # rootPath  # file_info  # savepath  # Library  # open 


相关栏目: 【 网站优化151355 】 【 网络推广146373 】 【 网络技术251813 】 【 AI营销90571


相关推荐: 制作公司内部网站有哪些,内网如何建网站?  Laravel如何处理文件下载请求?(Response示例)  如何在阿里云通过域名搭建网站?  如何制作新型网站程序文件,新型止水鱼鳞网要拆除吗?  Laravel如何实现图片防盗链功能_Laravel中间件验证Referer来源请求【方案】  如何快速搭建虚拟主机网站?新手必看指南  mc皮肤壁纸制作器,苹果平板怎么设置自己想要的壁纸我的世界?  成都品牌网站制作公司,成都营业执照年报网上怎么办理?  Laravel如何实现API资源集合?(Resource Collection教程)  如何在建站之星网店版论坛获取技术支持?  linux top下的 minerd 木马清除方法  如何在万网利用已有域名快速建站?  如何快速搭建二级域名独立网站?  黑客入侵网站服务器的常见手法有哪些?  东莞市网站制作公司有哪些,东莞找工作用什么网站好?  免费视频制作网站,更新又快又好的免费电影网站?  Laravel如何处理CORS跨域请求?(配置示例)  网站建设要注意的标准 促进网站用户好感度!  Laravel如何实现多表关联模型定义_Laravel多对多关系及中间表数据存取【方法】  Laravel如何实现登录错误次数限制_Laravel自带LoginThrottles限流配置【方法】  如何在Tomcat中配置并部署网站项目?  如何在香港服务器上快速搭建免备案网站?  利用python获取某年中每个月的第一天和最后一天  手机软键盘弹出时影响布局的解决方法  Laravel如何配置Horizon来管理队列?(安装和使用)  广州网站制作公司哪家好一点,广州欧莱雅百库网络科技有限公司官网?  Laravel如何生成和使用数据填充?(Seeder和Factory示例)  网页设计与网站制作内容,怎样注册网站?  如何打造高效商业网站?建站目的决定转化率  EditPlus 正则表达式 实战(3)  佛山企业网站制作公司有哪些,沟通100网上服务官网?  Laravel项目怎么部署到Linux_Laravel Nginx配置详解  如何在Ubuntu系统下快速搭建WordPress个人网站?  Java Adapter 适配器模式(类适配器,对象适配器)优缺点对比  如何在IIS中配置站点IP、端口及主机头?  HTML透明颜色代码怎么让下拉菜单透明_下拉菜单透明背景指南【技巧】  如何快速完成中国万网建站详细流程?  Laravel Debugbar怎么安装_Laravel调试工具栏配置指南  Chrome浏览器标签页分组怎么用_谷歌浏览器整理标签页技巧【效率】  品牌网站制作公司有哪些,买正品品牌一般去哪个网站买?  LinuxCD持续部署教程_自动发布与回滚机制  宙斯浏览器视频悬浮窗怎么开启 边看视频边操作其他应用教程  Laravel Eloquent性能优化技巧_Laravel N+1查询问题解决  微信小程序 五星评分(包括半颗星评分)实例代码  深入理解Android中的xmlns:tools属性  Laravel怎么做缓存_Laravel Cache系统提升应用速度的策略与技巧  Swift中循环语句中的转移语句 break 和 continue  Laravel怎么设置路由分组Prefix_Laravel多级路由嵌套与命名空间隔离【步骤】  Laravel如何连接多个数据库_Laravel多数据库连接配置与切换教程  如何使用 jQuery 正确渲染 Instagram 风格的标签列表