【发布时间】:2020-06-21 08:28:51
【问题描述】:
我刚刚开始将 CodeIgniter 3 项目迁移到 CodeIgniter 4。
除了文件上传,一切正常。
我想将用户上传的文件保存在 /writable/uploads 中。下面是我用来将上传的文件移动到所需位置的代码。
$target_dir = '/writable/uploads/recordings/';
$target_file = $target_dir . basename($_FILES["gfile"]["name"]);
$FileType = pathinfo($target_file,PATHINFO_EXTENSION);
if($FileType != "mp3") {
$vmuploadOk = 1;
}
else
$vmuploadOk = 1;
if ($vmuploadOk == 1) {
$greetfile = $id . "g" . basename($_FILES["gfile"]["name"]);
$target_filenew = $target_dir . $greetfile;
move_uploaded_file($_FILES["gfile"]["tmp_name"], $target_filenew);
}
我认为这是因为 CI4 将可写文件夹保留在公用文件夹之外。
【问题讨论】:
-
您也可以将文件上传到公用文件夹之外,这就是为什么我向您显示上面的参考链接
-
我使用了 $file = $this->request->getFile('gfile'); $file->move(WRITEPATH.'uploads/recordings', $greetfile);它可以工作,但如果存在,它不会覆盖文件。它会创建文件的副本。
标签: php codeigniter file-upload codeigniter-4