当我试图在CodeIgniter 4.0.4中上传1个图像时,我遇到了这个错误。
这是错误:finfo_file((:空文件名或路径
SYSTEMPATH/Files/File.php,第153行
152 $finfo = finfo_open(FILEINFO_MIME_TYPE);
153 $mimeType = finfo_file($finfo, $this->getRealPath());
154 finfo_close($finfo);
155 return $mimeType;
这是我的代码:
if ($img = $this->request->getFile('foto')) {
if ($img->isValid() && !$img->hasMoved()) {
$img->move('img/uploads/user');
$namaFoto = $img->getName();
}
} else {
$namaFoto = 'user.png';
}
但当我尝试上传多张图片时,效果很好。这是上传多个图像的代码:
$fileFoto = $this->request->getFileMultiple('foto');
foreach ($fileFoto as $foto) {
if ($foto->isValid() && !$foto->hasMoved()) {
$foto->move('img/uploads/barang');
$this->fotoModel->save([
'slug' => $slug,
'foto' => $foto->getName()
]);
}
}
CodeIgniter升级到4.0.4版本时是否有问题,因为我在4.0.3版本中上传单个文件时没有遇到问题。
我也遇到了这个问题。也许可以查看您的验证规则
'logo' => [
'label' => 'Logo',
'rules' => 'ext_in[logo, jpg,png]|max_size[logo, 200]'
]
之前我只使用mime_in规则。它总是出错,然后我改为ext_in,这对我来说很有效。
我已经得到了这个。
在我解决之前,我的代码是:
---将图像移动到我的目录----
然后
---图像验证---
因此,解决方案是您必须首先进行验证,然后才能移动图像。
----验证图像mime_in-------
验证图像后,可以转到director。
我希望这能奏效。