Php 如何在laravel中使用ValidateRequest严格上传视频文件

Php 如何在laravel中使用ValidateRequest严格上传视频文件,php,laravel-5,Php,Laravel 5,我有一个用户登记表,在那里我使用文件输入框上传图像。 现在的问题是,如果我选择上传视频文件,它将通过ValidateRequest。 在ValidateRequest中,我已经为image定义了规则,下面是代码: class UserValidateRequest extends Request { public function __construct() { } protected $messages = [ 'required.password' => 'We need

我有一个用户登记表,在那里我使用文件输入框上传图像。 现在的问题是,如果我选择上传视频文件,它将通过ValidateRequest。 在ValidateRequest中,我已经为image定义了规则,下面是代码:

class UserValidateRequest extends Request {

public function __construct() {

}

protected $messages = [
    'required.password' => 'We need to know your e-mail address!',
];
protected $rules = [      
    'first_name' => 'required|regex:"[a-zA-Z 0-9]"',
    'last_name' => 'regex:"[a-zA-Z 0-9]"',
    'image' => ' mimes:jpeg,jpg,png,gif |max:2048',           
];  

/**
 * Determine if the user is authorized to make this request.
 *
 * @return bool
 */
public function authorize() {
    return true;
}

public function messages() {
    return [
        'password.regex' => 'Password shall be 8-20 characters, must have a number and an alphabet',           ,
        'image.mimes' => 'Upload Gif || JPG || JPEG || PNG Images Only'
    ];
}

  public function attributes() {
      return[];
  }

}

不要使用mime类型验证,请尝试添加到图像字段:

'image' => 'image|max:2048'           

不要使用mime类型验证,请尝试添加到图像字段:

'image' => 'image|max:2048'           

我只是像你说的那样试过了,但是我知道会出现这个错误:文件“enrique_jordan.mp4”超过了upload_max_filesize ini指令(限制为2048 KiB)。此错误将伴随崩溃页面出现。我不明白为什么它会通过图像imge验证并在大小验证时崩溃upload_max_filesize is php.ini指令,该指令限制了最大上传文件大小,而不管其内容如何。如果您的文件大于指定的值,则甚至不会执行检查——PHP只会抛出错误。因此,在验证之前,您需要确保upload_max_filesize设置为大于您尝试上载的文件大小的值。我刚才如您所说尝试过,但知道出现了此错误:文件“enrique_jordan.mp4”超出了upload_max_filesize ini指令(限制为2048 KiB)。此错误将伴随崩溃页面出现。我不明白为什么它会通过图像imge验证并在大小验证时崩溃upload_max_filesize is php.ini指令,该指令限制了最大上传文件大小,而不管其内容如何。如果您的文件大于指定的值,则甚至不会执行检查——PHP只会抛出错误。所以,在验证之前,您需要确保upload_max_filesize设置为大于您尝试上载的文件大小的值。