《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;
}