牛骨文教育服务平台(让学习变的简单)
博文笔记

thinkPHP上传图片以及生成缩略图

创建时间:2016-12-17 投稿人: 浏览次数:587

记录一下最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>&nbsp;</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();
    }
声明:该文观点仅代表作者本人,牛骨文系教育信息发布平台,牛骨文仅提供信息存储空间服务。