tp3.2水印上传文件

《html》

<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>相册添加</title>
</head>
<body>
    <center>
    <!--U方法 : {:U('控制器名/方法名')}-->
    <form action="{:U('Indexdo/add_do')}" method="post" enctype="multipart/form-data">
        <table border="1">
            <tr>
                <td>相册名称</td>
                <td><input type="text" name="photo_name"></td>
            </tr>
            <tr>
                <td>相册简介</td>
                <td>
                    <textarea name="photo_desc" id="" cols="30" rows="10">
                    </textarea>
                </td>
            </tr>
            <tr>
                <td>相册封面</td>
                <td><input type="file" name="img"></td>
            </tr>
            <tr>
                <td colspan="2">
                <input type="submit" value="创建相册">
                </td>
            </tr>
        </table>
    </form>
    </center>
</body>
</html>

《控制器》 

//添加数据入库

   public  function  add_do(){
       $photo = D('Photo');

       $data['photo_name']  = I("post.photo_name");
       $data['photo_desc']  =I("post.photo_desc");
       $file = $_FILES['img'];
       $img_info  = $this->upload($file);

       $img  = $this->water($img_info);
       $data['photo_img'] =  $img;
       $data['create_time'] = date("Y-m-d H:i:s",time());
       $rest = $photo->add($data);
       if($rest){

           $this->success('添加成功',U('Indexdo/show'),3);
       }else{

           $this->error('添加失败');
       }
    }

//控制器里文件的上传

  public function upload(){   
        $upload = new \Think\Upload();// 实例化上传类 
        $upload->maxSize   =     3145728 ;// 设置附件上传大小 
        $upload->exts      =     array('jpg', 'gif', 'png', 'jpeg');// 设置附件上传类型
        $upload->savePath  =      './Public/Uploads/'; // 设置附件上传目录  
        $upload->rootPath  =     './'; 
        // 上传文件  
        $info   =   $upload->upload();   
        if(!$info) {// 上传错误提示错误信息  
        $this->error($upload->getError());  
        }else{// 上传成功   
          return $info;
        }


    }
//将上面的文件上传方法经过水印方法加工
     public  function  water($img_info){
        $img = $img_info['img']['savepath'].$img_info['img']['savename'];
         $image = new \Think\Image();
          // 在图片右下角添加水印文字 ThinkPHP 并保存为new.jpg
         $water_img  = $img_info['img']['savepath'].'water_'.$img_info['img']['savename'];
         $image->open($img)->text('ThinkPHP','./1.ttf',20,'#000000',\Think\Image::IMAGE_WATER_SOUTHEAST)->save($water_img); 
        return  $water_img;
     }

猜你喜欢

转载自www.cnblogs.com/phpfeng/p/9207326.html