finfo_file():CodeIgniter 4.0.4中的空文件名或路径



当我试图在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。

我希望这能奏效。

相关内容

  • 没有找到相关文章