使用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自定义生成缩略图尺寸的方法,本实例中生成两张不同尺寸的图片:第一张是大图350*350,第二张 50*50的缩略图 Image类是Thinkphp系统自带的,可以研究下,这个缩略图类很 ...
- 使用Uploadify实现上传图片生成缩略图例子,实时显示进度条
不了解Uploadify的,先看看前一篇详细说明 http://www.cnblogs.com/XuebinDing/archive/2012/04/26/2470995.html Uploadify ...
- ThinkPHP 5 文件上传及指定宽高生成缩略图公共方法
这个是非常常用的案例,ThinkPHP 5 文件上传及指定宽高生成缩略图公共方法/** * 单文件上传 * name:表单上传文件的名字 * ext: 文件允许的后缀,字符串形式 * path:文件保 ...
- thinkphp上传图片,生成缩略图
Image.php <?php /** * 实现图片上传,图片缩小, 增加水印 * 需要定义以下常量 * define('ERR_INVALID_IMAGE', 1); * define('ER ...
- yii php 图片上传与生成缩略图
今天需要做图片上传与生成缩略图的功能,把代码进行记录如下: html 视图 ($pic_action_url = $this->createAbsoluteUrl('h ...
- 在IIS下部署Thinkphp项目,验证码不能显示的解决办法
由于公司租用的是虚拟空间,而且用的是IIS服务器,所以部署PHP的时候就出现很多问题:比如昨天就碰到这个问题:在IIS下部署Thinkphp项目,验证码不能显示 这是生成验证码的方法: // 制作专门 ...
- 搬家后Magento前台只有产品的缩略图不显示
第一种可能:缓存不足 http://blog.csdn.net/ddjohn/article/details/6648199 最近发现一个怪异的现象,Magento前台只有产品的缩略图不显示.我检查了 ...
- 黄聪:C#图片处理封装类(裁剪、缩放、清晰度、加水印、生成缩略图)有示例(转)
C#图片处理示例(裁剪,缩放,清晰度,水印) 吴剑 2011-02-20 原创文章,转载必需注明出处:http://www.cnblogs.com/wu-jian/ 前言 需求源自项目中的一些应用,比 ...
- C#上传图片和生成缩略图以及图片预览
因工作需要,上传图片要增加MIME类型验证和生成较小尺寸的图片用于浏览.根据网上代码加以修改做出如下效果图: 前台代码如下: <html xmlns="http://www.w3.or ...
随机推荐
- zookeeper单机版安装
ZooKeeper是一个分布式的,开放源码的分布式应用程序协调服务,是Google的Chubby一个开源的实现,是Hadoop和Hbase的重要组件.它是一个为分布式应用提供一致性服务的软件,提供的功 ...
- JS简单表单验证
这里我是写了一个简单的注册表单验证功能,亲测有效,一起来看看吧! 首先我的HTML代码是这样的: class大家可以忽略一下,这里我项目使用的是bootstrap的样式. 输入用户名和密码用的是正则表 ...
- Info - Get technical information from the Internet
Official Sites Overview / QuickStart Guide / Docs / E-books Community / Fourm / Blog Demo / Download ...
- Django-cookie的保存以及删除操作
Django里的保存cookie和flask是有区别的 今天我就说以下Django里的cookie操作 #先导包 #导入Django模块 from django.http import HttpRes ...
- Java实现二叉树先序,中序,后序,层次遍历
一.以下是我要解析的一个二叉树的模型形状.本文实现了以下方式的遍历: 1.用递归的方法实现了前序.中序.后序的遍历: 2.利用队列的方法实现层次遍历: 3.用堆栈的方法实现前序.中序.后序的遍历. . ...
- ES代码总结2
本文部分转载于: http://www.cnblogs.com/luxiaoxun/p/4869509.html ElasticSearch的基本用法与集群搭建 一.简介 ElasticSearch ...
- Java 死锁优化
死锁示例1 public class SyncThread implements Runnable{ private Object obj1; private Object obj2; public ...
- php数组方法
查找.筛选与搜索数组元素是数组操作的一些常见功能.下面来介绍一下几个相关的函数. in_array()函数 in_array()函数在一个数组汇总搜索一个特定值,如果找到这个值返回true,否则返回f ...
- Vue源码翻译之渲染逻辑链
本篇文章主要要记录说明的是,Vue在Vdom的创建上的相关细节.这也是描绘了Vue在界面的创建上的一个逻辑顺序,同时我也非常拜服作者编码的逻辑性,当然或许这么庞大复杂的编码不是一次性铸就的,我想应该也 ...
- 【IT笔试面试题整理】二叉树中和为某一值的路径--所有可能路径
[试题描述] You are given a binary tree in which each node contains a value. Design an algorithm to print ...