Validation 如何使用laravel 4验证图像尺寸

Validation 如何使用laravel 4验证图像尺寸,validation,laravel-4,Validation,Laravel 4,我是拉雷维尔的新手。我正在尝试使用Laravel验证图像的尺寸。 我的controller.php代码如下: public function getgallery() { $validate=Validator::make(Input::all(),array( 'galname' => 'required|max:20', 'galimg' => 'required|max:400kb|Mimes:jpeg,jpg,gif,png,pneg'

我是拉雷维尔的新手。我正在尝试使用Laravel验证图像的尺寸。 我的controller.php代码如下:

public function getgallery()
  {
    $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) > 400 && imagesy($input) > 400;
     });

     if($validate->fails())
     {
         return Redirect::route('getgallery')->withErrors($validate)->withInput();
     }
但我有一个错误:

错误异常(E_未知) imagesx()期望参数1是给定的资源、对象 http://ErrorException …\app\controllers\AddgalleryController.php19

我没有使用自定义验证规则。
如何解决此错误?

问题看起来像是$input,是一个对象,可能您可以使用
$input['file']

在我的laravel项目中使用的图像:.$validate->有时('galimg','required',函数('input['file'){return imagesx('input['file]])>400&&imagesy('input['file')) > 400; }); 我得到了另一个错误\Component\Debug\Exception\FatalErrorException(E_PARSE)语法错误,意外的“[”,期望“')我们需要解封什么对象是$input。在方法有时var_dump$input上,这里可以看到对象的类型。我正在尝试var_dump($input);我得到的结果是这个对象(illumb\Support\Fluent)#249(1){[“attributes”:protected]=>array(4){[“galname”]=>string(3)“ggh”[“_-token”]=>string(40)“62gaN6ipoSQaOxZRXQMN6mgs4vE5dHfS8v9pKzp6”[“sub”]=>string(11)“添加库”[“galimg”]=>object(Symfony\Component\HttpFoundation\File\UploadedFile){9(7){[“测试”:“Symfony\Component\HttpFoundation\File\UploadedFile\UploadedFile”:private]=>bool(假原名[]Symfony\Component\HttpFoundation\File\UploadedFile:private]=>string(11)“images5.jpg”[“mimeType”:“Symfony\Component\HttpFoundation\File\UploadedFile\UploadedFile”:private]=>int(5842)[“错误”:“Symfony\Component\HttpFoundation\File\UploadedFile”:private]=>int(0)[“路径名”:“SplFileInfo”:private]=>string(24)“C:\xampp\tmp\php7090.tmp”[“文件名”:“SplFileInfo”:private]=>string(11)“php7090.tmp”}