Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/270.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php Laravel文件验证-如何修复“;变量将立即被重写“0”;_Php_Laravel - Fatal编程技术网

Php Laravel文件验证-如何修复“;变量将立即被重写“0”;

Php Laravel文件验证-如何修复“;变量将立即被重写“0”;,php,laravel,Php,Laravel,我在拉拉维尔做项目。我将此代码设置为验证文件大小和格式: class KnowledgeBaseMovieRequest extends FormRequest { public function authorize() { return true; } public function rules() { $id = $this->route('knowledge_base_movie'); $r

我在拉拉维尔做项目。我将此代码设置为验证文件大小和格式:

class KnowledgeBaseMovieRequest extends FormRequest
{

    public function authorize()
    {
        return true;
    }

    public function rules()
    {
        $id = $this->route('knowledge_base_movie');

        $rules = [
            'name' => ['required', 'max:255'],
        ];

        if (empty($id)) {
            $rules['movie'] = ['file', 'required', 'max:200000'];
            $rules['movie'] = ['file', 'max:20000', new Mp4File];
        }

        return $rules;
    }

}

class Mp4File implements Rule {

    const MIMES = [
        'video/mp4'
    ];
    const EXT = 'mp4';

    public function passes($attribute, $file) {
        return in_array($file->getClientMimeType(), self::MIMES) && $file->getClientOriginalExtension() === self::EXT;
    }

    public function message() {
        return ':attribute musi być plikiem .mp4.';
    }

}
我需要在最大大小200000文件和格式mp4

在tjis行中:

$rules['movie'] = ['file', 'required', 'max:200000'];
$rules['movie'] = ['file', 'max:20000', new Mp4File];
我有“$rules['movie']立即被覆盖”


如何修复它?

只需将所有规则组合在一个时间变量中:

$rules['movie'] = ['file', 'required', 'max:200000', new Mp4File];

为什么要为同一索引设置两行?

为什么要覆盖下一行中定义的变量?如何在一行中写入这两个条件?;)