这篇文章主要介绍了thinkphp实现上传图片及生成缩略图功能,结合实例形式分析了thinkphp图片上传及缩略图设置、生成、保存、数据库写入等相关操作技巧,需要的朋友可以参考下
本文实例讲述了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实现上传图片及生成缩略图功能示例的详细内容。