CodeIgniter 4 图片上传大小验证配置及报错问题咨询
在CodeIgniter 4中正确设置图片上传大小的方法
先修正你的验证规则核心问题
你的规则里存在字段名不统一的错误:数组键是userfile,但规则里却混用了passport_image、profile_pix,这会导致验证逻辑完全失效,哪怕是49.7KB的图片也会触发错误。所有规则里的字段名必须和表单上传字段名保持一致,比如你的表单上传字段是userfile,那规则里的参数都要改成userfile。
修正后的验证规则:
$profile_pix_validation_rule = [ 'userfile' => [ 'label' => 'Image File', 'errors' => ['max_size' => "图片最大不能超过5MB"], 'rules' => [ 'uploaded[userfile]', 'mime_in[userfile,image/jpg,image/jpeg,image/png]', 'max_size[userfile,5120]', // 5120KB = 5MB,单位是KB 'max_dims[userfile,1024,768]', ], ], ];
检查PHP系统级上传限制
即使CodeIgniter的规则设置正确,PHP本身的配置也可能限制上传大小,需要确保php.ini里的以下参数满足要求:
upload_max_filesize = 5M(可以设成6M留一点余量)post_max_size = 5M(这个值必须大于等于upload_max_filesize)
修改后重启你的Web服务器(Apache/Nginx等),让配置生效。
内容的提问来源于stack exchange,提问作者Njoku Okechukwu Valentine
相关产品推荐
相关产品推荐

