使用ThinkPHP生成缩略图及显示
使用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调用Image类生成缩略图的方法
本文实例讲述了Thinkphp调用Image类生成缩略图的方法.分享给大家供大家参考.具体分析如下: Thinkphp的Image类 在ThinkPHP/Extend/Library/ORG/Util/Image.class.php中. 调用方法如下: import("ORG.Util.Image"); $Img = new Image();//实例化图片类对象 $image_path = './图片路径'; //若当前php文件在Thinkphp的中APP_PATH路径中 //'./
-
基于ThinkPHP5.0实现图片上传插件
效果预览图: 该插件主要功能是:可预览裁剪图片和保存原图片,执行裁剪图片后会删除 裁剪的原图片目录,以便减少空间. 一.下载附件 地址:链接: https://pan.baidu.com/s/1nuQ4NgP 密码: 4pbu 二.将附件中的CropAvatar.php放到自己程序目录extend/org目录下,如果遇到 exif_imagetype 错误,需要打开 php.ini 中的 extension=php_exif.dll 三.common.php公共函数 找到应用程序目录下的com
-
thinkphp3.2.2实现生成多张缩略图的方法
本文实例讲述了thinkphp3.2.2实现生成多张缩略图的方法.分享给大家供大家参考. 具体实现方法如下: 复制代码 代码如下: public function dz_upload() { //上传多张缩略图 上传2张缩略图 if (isset($_FILES['ori_img'])){ $upload = new \Think\UploadFile();// 实例化上传类 $upload->maxSize = 3000000 ;// 设置附件上传大小 C('UP
-
thinkPHP实现上传图片及生成缩略图功能示例
本文实例讲述了thinkPHP实现上传图片及生成缩略图功能.分享给大家供大家参考,具体如下: 记录一下在thinkPHP上传图片的方法(Upload)和生成缩略图(Image)的方法. html页面form中必须加enctype="multipart/form-data" <form action="__SELF__" method="post" enctype="multipart/form-data"> <
-
thinkphp jquery实现图片上传和预览效果
先上效果图: 那个file按钮样式先忽略 点击选择图片(浏览),随便选一张图片 js代码如下 //上传图片立即预览 function PreviewImage(imgFile) { var filextension = imgFile.value.substring(imgFile.value .lastIndexOf("."), imgFile.value.length); filextension = filextension.toLowerCase(); if ((filexte
-
thinkphp实现图片上传功能分享
1.我们首先需要创建一个表 复制代码 代码如下: CREATE TABLE IF NOT EXISTS `tp_image` ( `id` int(11) NOT NULL AUTO_INCREMENT, `image` varchar(200) NOT NULL, `create_time` int(11) NOT NULL, PRIMARY KEY (`id`)) ENGINE=MyISAM DEFAULT CHARSET=utf8; 2.然后再conf文件里添加配置(最后一段配置
-
thinkphp实现图片上传功能
关于图片上传,实现方法很多,比如可以用jQuery,当然,我们的thinkPHP内置了关于图片上传的功能,我们可以直接使用,使用方法如下: 首先,是表单书写,我们建立如下表单: <form action="__URL__/addChk" method="post" enctype="multipart/form-data"> <table cellspacing="1" cellpadding="2
-
thinkphp ajaxfileupload实现异步上传图片的示例
thinkphp开发图片上传,图片异步上传是目前比较方便的功能,这里我就不写css文件了,将代码写出来.引入核心文件下载https://github.com/carlcarl/A... HTML 下面首先在html页面引入相关js资源 <!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <title>图片上传</title>
-
使用ThinkPHP生成缩略图及显示
使用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() *
-
php动态生成缩略图并输出显示的方法
本文实例讲述了php动态生成缩略图并输出显示的方法.分享给大家供大家参考.具体如下: 调用方法: <img src="thumbs.php?filename=photo.jpg&width=100&height=100"> 此代码可以为大图片动态生成缩略图显示,图片在内存中生成,不在硬盘生成真实文件 thumbs.php文件如下: <?php $filename= $_GET['filename']; $width = $_GET['width'];
-
Thinkphp自定义生成缩略图尺寸的方法
Thinkphp自定义生成缩略图尺寸的方法,本实例中生成两张不同尺寸的图片:第一张是大图350*350,第二张 50*50的缩略图 Image类是Thinkphp系统自带的,可以研究下,这个缩略图类很强大 function getLogo($logo, $width, $height, $name) { $fileArr = pathinfo($logo); $dirname = $fileArr['dirname']; $filename = $fileArr['filename']; $ex
-
asp.net 上传图片并同时生成缩略图的代码
复制代码 代码如下: <%@ Page Language="C#" ResponseEncoding="gb2312" %> <%@ Import Namespace="System" %> <%@ Import Namespace="System.IO" %> <%@ Import Namespace="System.Drawing" %> <%@ I
-
asp.net中生成缩略图并添加版权实例代码
复制代码 代码如下: //定义image类的对象Drawing.Image image,newimage;//图片路径protected string imagePath;//图片类型protected string imageType;//图片名称protected string imageName;//提供一个回调方法,用于确定Image对象在执行生成缩略图操作时何时提前取消执行//如果此方法确定 GetThumbnailImage 方法应提前停止执行,则返回 true:否则返回 false
-
asp.net生成缩略图示例方法分享
做站的时候经常会遇到要生成缩略图的功能,因为可能不同的情况需要用来不同大小的缩略图. 本文生成的图片都为正方形,只有正方形的缩略图才是保证图片足够清晰. 当我我这里说的正方形是先按比例压缩,然后加一个固定的白底 然后居中显示. 代码: 新建outputimg.ashx 复制代码 代码如下: //调整图片大小private static Size NewSize(int maxWidth, int maxHeight, int Width, int Height) {
-
完美解决thinkphp验证码出错无法显示的方法
本文实例讲述了完美解决thinkphp验证码出错无法显示的方法.分享给大家供大家参考.具体分析如下: 今天做到验证码这一块,想到tp自带验证图片,大喜,但鼓捣半天不出来,一直是个小 X的样子. 官方提示如下: 如果无法显示验证码,请检查: ① PHP是否已经安装GD库支持: ② 输出之前是否有任何的输出(尤其是UTF8的BOM头信息输出): ③ Image类库是否正确导入: ④ 如果是中文验证码检查是否有拷贝字体文件到类库所在目录: 但是测试半天,不行!网上找来一个能用的方法,放到一个文件里执行
-
ie6 动态缩略图不显示的原因
我在上传生成缩略图时,缩略图显示的链接如下: 复制代码 代码如下: < img src ="/index.php?action=sys_upload_showThumb&id=bdc3955470adfb5637a0d1f517eb3d35" /> 结果在ie6下不显示该缩略图:后来追溯到下面一段代码: 复制代码 代码如下: header("Content-type: image/jpeg") ; header("Content-Len
随机推荐
- 详解PHP中strlen和mb_strlen函数的区别
- JavaBean(EJB) 3.0 全新体验
- javascript 树形导航菜单实例代码
- vue2.0实战之使用vue-cli搭建项目(2)
- 解决Java调用BAT批处理不弹出cmd窗口的方法分析
- PHP实现的XML操作类【XML Library】
- LINUX下Oracle数据库用户创建方法详解
- PHP header()函数常用方法总结
- android项目手机卫士来电显示号码归属地
- jQuery学习笔记之回调函数
- jquery实现div阴影效果示例代码
- js原生appendChild的bug解决心得分享
- 并发数据库压力测试的shell脚本代码
- JS this作用域以及GET传输值过长的问题解决方法
- jquery队列queue与原生模仿其实现方法分享
- jquery 子窗口操作父窗口的代码
- Java 多线程学习详细总结
- 如何通过Objective-C的枚举学习iOS中位操作.md详解
- 详解Linux下出现permission denied的解决办法
- 微信小程序显示倒计时功能示例【测试可用】