繁体   English   中英

codeigniter 4 多文件验证

[英]codeigniter 4 multiple file validation

我想检查是否在 controller 中选择了文件,如果未选择则显示错误,否则上传到服务器。 我创建了一个像这样的 html 元素<input type="file" name="car_gallery[]" multiple />我的表单也有这个属性 enctype="multipart/form-data"。 在 controller 我这样检查

if($this->request->getFileMultiple('car_gallery')){
}

但即使我没有 select 任何文件,这种情况也总是如此。 多文件上传的解决方案是什么,它在单个图像上工作正常

我也不确定,因为我也遇到了这个问题。 但是,我正在记录(通过print_r )对$this->request->getFileMultiple('my_file_name_here')的调用,并注意到当我在没有附加文件的情况下提交表单时,创建了一个文件 object (因此返回 TRUE - 我认为)。 object 的所有属性都为空,除了error属性设置为4 ,如果这映射到PHP 的 File Upload Errors ,则表示没有上传文件。

我想知道object是不是因为这个错误而专门创建的?

当我提交没有附加文件的表单时,这是我的日志记录中的代码。

(
    [0] => CodeIgniter\HTTP\Files\UploadedFile Object
        (
            [path:protected] => 
            [originalName:protected] => 
            [name:protected] => 
            [originalMimeType:protected] => 
            [error:protected] => 4
            [hasMoved:protected] => 
            [size:protected] => 0
            [pathName:SplFileInfo:private] => 
            [fileName:SplFileInfo:private] => 
        )

)

老实说,我不知道如何(或不)检查if($this->request->getFileMultiple('my_file_name_here'))是否始终为真,无论是否附加了文件。

在这一切中我可能完全错了。 我愿意提供任何帮助和建议。

如果这是完全错误的或不符合网站规则的,请务必将其删除。

只需使用 getFiles()。

$this->request->getFiles('my_file_name_here')

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM