Validation 如何在laravel中插入数据库之前验证图像尺寸
我是laravel的新手。我正在尝试验证图像的尺寸。我希望尺寸最小宽度=100,高度=50。这里是使用controller.php中的验证代码的Iam “galimg”=>“必需”|最大值:200kb |最小尺寸300300 | Mimes:jpeg、jpg、gif、png ,pneg' 但是DimensionMin300300不起作用…我认为自定义验证规则是可能的…但我不知道如何使用它?在哪里?这是我的controller.php代码Validation 如何在laravel中插入数据库之前验证图像尺寸,validation,laravel-4,Validation,Laravel 4,我是laravel的新手。我正在尝试验证图像的尺寸。我希望尺寸最小宽度=100,高度=50。这里是使用controller.php中的验证代码的Iam “galimg”=>“必需”|最大值:200kb |最小尺寸300300 | Mimes:jpeg、jpg、gif、png ,pneg' 但是DimensionMin300300不起作用…我认为自定义验证规则是可能的…但我不知道如何使用它?在哪里?这是我的controller.php代码 public function getgallery()
public function getgallery()
{
$validate=Validator::make(Input::all(),array(
'galname'=>'required|max:20',
'galimg'=>'required|max:400kb|Dimensionmin(300,300)|Mimes:jpeg,jpg,gif,png
,pneg'));
if($validate->fails())
{ return Redirect::route('getgallery')
->withErrors($validate)->withInput(); }
else
{ $max_image = 3;
if(ForumGallery::all()->count() < $max_image)
{ $file=Input::file('galimg');
$filename=$file->getClientOriginalName();
$file->move('uploads',$filename);
ForumGallery::create(['galname'=>Input::get('galname'),
'galimg'=>$filename]);
return Redirect::route('addgallery');
}
else
{return Redirect::route('gallery')
->with('success','Max Image Upload Reached!');
} }}
您可以使用此代码
函数getImgSizeimgSrc{
var newImg=新图像
}`
在这里,您可以获得图像的高度和宽度,并将其与所需的尺寸进行比较
提及
假设您还有一些其他字段要验证。把它们放在$v里。
现在需要添加自定义验证规则
$v->sometimes('galimg', 'required', function($input)
{
//psudo code, here validate your image
if($input.length >= 300) return false;
return true;
});
将与图像相关的操作放入函数中
希望这有帮助
$validate=Validator::make(Input::all(),array(
'galname'=>'required|max:20',
'galimg'=>'required|max:400kb|Mimes:jpeg,jpg,gif,png
,pneg'));
$validate->sometimes('galimg', 'required', function($input)
{
//psudo code, here validate your image
return imagesx($input) > 300 && imagesy($input) > 300;
});
你可以使用这个很棒的库来检测你的图像尺寸 安装完成后,您可以在控制器中使用它,如下所示:
$validate=Validator::make(Input::all(),array(
'galname'=>'required|max:20',
'galimg'=>'required|mimes:jpeg,jpg,gif,png,pneg|image_size:1200,800'));
规则应为1200宽800高或宽度=1200高=800
注:尺寸单位为像素
希望有帮助。先生。。。我的controller.php代码在上面..如何在这个controller.php中尝试上面的代码?请帮助..谢谢..先生..对不起,我是新来的laravel。。如何添加自定义验证规则。以及如何将与图像相关的操作放入函数中…………我尝试添加自定义验证规则。但是不起作用。如果你没有我的,你能解释一下吗???我不知道哪些页面文件夹已经习惯了……你能告诉我哪些文件夹已经使用,哪些代码已经使用……我不知道如何很好地处理laravel调用$validate->sometimesInput::all;先生,,,我在controller.php中使用的代码..没有自定义验证规则$validate=Validator::makeInput::all,数组“galname”=>“required | max:20”,“galimg”=>“required | max:400kb | Mimes:jpeg、jpg、gif、png、pneg”$验证->有时是'galimg','required',函数$input{//psudo代码,这里验证您的图像返回imagesx$input>300&&imagesy$input>300;};我得到一个错误,它是错误的。异常E_UNKNOWN imagesx希望参数1是资源,对象给定如何解决如何添加自定义验证规则?
$validate=Validator::make(Input::all(),array(
'galname'=>'required|max:20',
'galimg'=>'required|max:400kb|Mimes:jpeg,jpg,gif,png
,pneg'));
$validate->sometimes('galimg', 'required', function($input)
{
//psudo code, here validate your image
return imagesx($input) > 300 && imagesy($input) > 300;
});
$validate=Validator::make(Input::all(),array(
'galname'=>'required|max:20',
'galimg'=>'required|mimes:jpeg,jpg,gif,png,pneg|image_size:1200,800'));