欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  php教程

thinkphp3.2 生成多张缩略图实践

程序员文章站 2022-03-24 11:29:36
...
tp3.2使用thumb方法生成多张缩略图
$upload = new \Think\Upload();// 实例化上传类
$upload->maxSize = 3145728 ;// 设置附件上传大小
$upload->exts = array('jpg', 'gif', 'png', 'jpeg');// 设置附件上传类型
$upload->rootPath = "./Public/Admin/Uploads/"; // 设置附件上传目录// 上传文件
$upload ->autoSub = true;
$upload ->subName = array('date','Ymd');
//设置上传文件规则
$upload->saveRule = 'uniqid';
$info = $upload->uploadOne($_FILES['photo']);
if(!$info) {
// 上传错误提示错误信息
$this->error($upload->getError());
}else {
// 上传成功 获取上传文件信息
$img = $info['savepath'] . $info['savename'];
$image = new \Think\Image();
$BinImg = $upload->rootPath . "$img"; // 获得原图绝对路径
$image->open($BinImg); // 打开原图
// 添加水印
// $image ->water($upload->rootPath."logo.png")-> save($upload ->rootPath.$img);
// 生成一张
// $image ->thumb(278,206,2); // 设置宽高和缩略类型

// 设置缩略图宽、高、前缀
$thumb = array(
1 => array('w' => 278, 'h' => 206, 'n' => '278x206_'),
2 => array('w' => 178, 'h' => 106, 'n' => '178x106_')
);
foreach ($thumb as $k => $v){
$image->thumb($v['w'],$v['h'], 2); // 设置宽高和缩略类型
// 保存缩略图片
$smallimg[$k]= $info['savepath'] . "$v[n]" . $info['savename'];

$image->save($upload->rootPath . $smallimg[$k]);
$_POST['small'.$k] = $smallimg[$k];
}
$_POST['goods_img'] = $img;

}
var_dump($_POST);exit;