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

原创
2016-10-09 08:32:18 922浏览
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;

声明:本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn核实处理。