如何在调整大小之前验证Kohana 3中的图像属性(高度,宽度)? 或者,只有当我的图像尺寸不小于我需要的尺寸时,我如何才能使用图像尺寸调整?
我想做什么: 在头像上传期间,如果我想要的更大,我必须调整图像大小。 或采取行动禁止上传更大的头像。
现在我有了这个规则:
public function avatar_validate($files)
{
return Validate::factory($files)
->rules('avatar', array(
'Upload::valid' => NULL,
'Upload::type' => array(array('jpg','png','gif','bmp','gif')),
'Upload::size' => array('3M')
)
);
}
答案 0 :(得分:1)
验证(类型,文件大小等)后,使用Image模块在控制器中加载图像。
$image = new Image($file['tmp_name']);
if ($image->width > 800 OR $image->height > 600)
{
$image->resize(800, 600, null);
$image->save('path/'.$file['name']);
}
else
{
move_uploaded_file($file['tmp_name'], 'path/'.$file['name']);
}