codeigniter 4 多文件验证
Posted
技术标签:
【中文标题】codeigniter 4 多文件验证【英文标题】:codeigniter 4 multiple file validation 【发布时间】:2022-01-08 22:12:15 【问题描述】:我想检查文件是否在控制器中被选中,如果未选中则显示错误,否则在服务器上上传。我创建了一个像 <input type="file" name="car_gallery[]" multiple />
这样的 html 元素,我的表单也有这个属性 enctype="multipart/form-data"。
在控制器中我这样检查
if($this->request->getFileMultiple('car_gallery'))
但即使我没有选择任何文件,这种情况也总是正确的。 什么是多个文件上传的解决方案它在单个图像上工作正常
【问题讨论】:
你试过var_dump($this->request->getFileMultiple('car_gallery'));
看看为什么它被标记为 true 吗?
请提供足够的代码,以便其他人更好地理解或重现问题。
【参考方案1】:
我也不确定,因为我也遇到了这个问题。但是,我正在记录(通过print_r
)对$this->request->getFileMultiple('my_file_name_here')
的调用,并注意到当我在没有附加文件的情况下提交表单时,创建了一个文件对象(因此返回TRUE - 我认为)。该对象的所有属性都为空,除了error
属性设置为4
,如果此映射到php's File Upload Errors,则表示没有上传任何文件。
不知道是不是因为这个错误而专门创建了对象?
这是我在提交没有附加文件的表单时记录的代码。
(
[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'))
是否始终为真,无论是否附加了文件。
我可能完全错了。我愿意提供任何帮助和建议。
如果这完全错误或不符合网站规则,请务必将其删除。
【讨论】:
以上是关于codeigniter 4 多文件验证的主要内容,如果未能解决你的问题,请参考以下文章