php删除文件为什么会失败

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']], '头像更新成功');
            }
        }
    }
}

文章名称:php删除文件为什么会失败
文章位置:http://hbruida.cn/article/cggpec.html