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 AdminController;
use OrgUtilDate;
use ThinkController;
use ThinkImage;
use ThinkUpload;
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();
}
声明:该文观点仅代表作者本人,牛骨文系教育信息发布平台,牛骨文仅提供信息存储空间服务。