本文实例讲述了thinkPHP实现上传图片及生成缩略图功能。分享给大家供大家参考,具体如下:
记录一下在thinkPHP上传图片的方法(Upload)和生成缩略图(Image)的方法.
html页面form中必须加enctype="multipart/form-data"
<form action="__SELF__" method="post" enctype="multipart/form-data">
<table width="100%"class="cont">
<tr>
<td>照片:</td>
<td width="20%"><input type="file" name="pic" id="pic" /></td>
<td colspan="3"><input class="btn" type="submit" value="提交" /></td>
<td> </td>
</tr>
</table>
</form>
php代码
<?php
namespace Admin\Controller;
use Org\Util\Date;
use Think\Controller;
use Think\Image;
use Think\Upload;
class UserController extends Controller {
public function add(){
$user = M('user');
if(!empty($_POST)){
$user = $user->create();
//判断传入的图片有没有问题
if($_FILES['pic']['error'] == 0){
$config = array(
'rootPath' => './Application/public/image/' // 设置图片保存路径
);
//new一个上传模型
$upload = new Upload($config);
//上传图片
$pic = $upload->uploadOne($_FILES['pic']);
//将图片保存到数据库中
$user['big_pic'] = $pic['savepath'].$pic['savename'];
//生成缩略图
$img = new Image();
//大图片的路径
$big_img = $upload->rootPath.$user['big_pic'];
//打开大图片
$img->open($big_img);
//设置图片大小
$img->thumb(200,300);
//设置绝对路径
$small_img = $upload->rootPath.$pic['savepath'].'small_'.$pic['savename'];
//保存
$img->save($small_img);
//将图片名称存入数据库
$user['img'] = $pic['savepath'].'small_'.$pic['savename'];
}
$user['create_date'] = date("Y-m-d H:i:s");
$msg = "添加失败";
if(M("user")->add($user))
$msg = "添加成功";
$this->redirect(show_list,null,3,$msg);
}
$this->display();
}
更多关于thinkPHP相关内容感兴趣的读者可查看本站专题:《ThinkPHP入门教程》、《thinkPHP模板操作技巧总结》、《ThinkPHP常用方法总结》、《codeigniter入门教程》、《CI(CodeIgniter)框架进阶教程》、《Zend FrameWork框架入门教程》及《PHP模板技术总结》。
希望本文所述对大家基于ThinkPHP框架的PHP程序设计有所帮助。
pbootcms编辑器无法上传图片:后端配置项没有正常加载,上传插件不能正常使用1、PbootCMS后台正常使用,ueditor编辑界面可以显示, 但单图片上传按钮点击没反应,多图片上传显示后台配置项返回格
ThinkPHP整合datatables实现服务端分页的示例代码下面小编就为大家分享一篇ThinkPHP整合datatables实现服务端分页的示例代码,具有很好的参考价值,希望对大家有所帮
thinkphp3.2.0 setInc方法 源码全面解析下面小编就为大家分享一篇thinkphp3.2.0 setInc方法 源码全面解析,具有很好的参考价值,希望对大家有所帮助。一起跟
PHP实现可添加水印与生成缩略图的图片处理工具类这篇文章主要介绍了PHP实现可添加水印与生成缩略图的图片处理工具类,涉及php针对图片的显示、保存、压缩、水印等
tp5(thinkPHP5)操作mongoDB数据库的方法这篇文章主要介绍了tp5(thinkPHP5)操作mongoDB数据库的方法,结合实例形式简单分析了mongoDB数据库及thinkPHP5连接、查询Mo
在云虚拟主机部署thinkphp5项目的步骤详解thinkphp官网在去年的时候发布了tp的颠覆版本thinkphp5,tp5确实比之前的版本好用了很多,那么下面这篇文章就来给大家