十年网站开发经验 + 多家企业客户 + 靠谱的建站团队
量身定制 + 运营维护+专业推广+无忧售后,网站问题一站解决
php删除文件失败的原因:文件在删除时仍然被其他线程或进程占用。解决方法:首先手动释放文件对象,避免因为被其他线程或进程占用而导致删除失败;然后利用unlink()函数删除文件即可。
创新互联坚持“要么做到,要么别承诺”的工作理念,服务领域包括:成都网站设计、成都做网站、外贸网站建设、企业官网、英文网站、手机端网站、网站推广等服务,满足客户于互联网时代的修水网站设计、移动媒体设计的需求,帮助企业找到有效的互联网解决方案。努力成为您成熟可靠的网络建设合作伙伴!
原因分析:
文件仍然被其他进程占用。所以我们最好释放下文件对象,避免因为被其他线程或进程占用而导致删除失败。
(推荐教程:php图文教程)
unlink() 函数删除文件。
如果成功,该函数返回 TRUE。如果失败,则返回 FALSE。
(视频教程推荐:php视频教程)
代码实现:
public function upload()
{
//获取上传文件
$file = $this->request->file('file');
if ($file) {
// 移动文件到 uploads 目录下
$info = $file->rule('date')->move(ROOT_PATH . 'public' . DS . 'uploads');
if ($info) {//文件上传到服务器成功->接下来上传到OSS
$filePath = ROOT_PATH . 'public' . DS . 'uploads/' . $info->getSaveName();
$oss = new Oss();
$result = $oss->putObject($filePath);
if ($result) { //上传到OSS成功 unset($info);//解除图片的进程占用
@unlink($filePath);
return success(['avatar' => $result['fileSrc']], '头像更新成功');
}
}
}
}