码迷,mamicode.com
首页 > Web开发 > 详细

Thinkphp5 使用unlink删除文件出错Permission denied

时间:2020-02-24 13:30:20      阅读:142      评论:0      收藏:0      [点我收藏+]

标签:set   name   截取   失败   图片删除   substr   ret   exception   error   

今天做图片上传时遇到问题,上传失败则需要删除新上传的图片,结果删除的时候报错

unlink(‘此处为文件路径‘): Permission denied

查了一下网上有人说是文件夹权限问题,最后解决,不是文件夹权限问题

这里删除失败是因为文件还没有被释放,并非权限不足

上传成功之后使用 unser($info) 释放文件,释放文件之后就能正常删除啦!

$file = Request()->file(‘img‘);
        if (!empty($file))
        {
            $info = $file->move(config(‘文件保存路径‘) . $aaa. DS . $bbb);
            if($info){
                // 成功上传后 获取上传信息
                $img = str_replace(‘\\‘, ‘/‘,config(‘文件保存路径‘) . $aaa . DS . $bbb . DS . $info->getSaveName());
                //上传成功之后释放文件
                unset($info);
                //查出并删除旧文件并
                $worn_img = db(‘表名称‘)->where(‘id‘,$id)->value(‘img‘);
                //旧文件截取为可删除状态
                $worn_img = str_replace(‘\\‘, ‘/‘, config(‘文件保存路径‘) . $aaa . DS . $bbb . DS . substr($worn_img,-10));
                try
                {
                    unlink($worn_img);
                } catch (\Exception $e)
                {
                    //图片删除失败,删除新上传的图片
                    $delete_img = str_replace(‘\\‘, ‘/‘, config(‘文件保存路径‘) . $aaa . DS . $bbb . DS . substr($img,-10));
                    unlink($delete_img);
                    return ‘图片删除失败!‘;
                }
            }else
            {
                // 上传失败获取错误信息
                recordErrorLog($file->getError());
                return ‘上传失败!‘;
            }
        }

Thinkphp5 使用unlink删除文件出错Permission denied

标签:set   name   截取   失败   图片删除   substr   ret   exception   error   

原文地址:https://www.cnblogs.com/blibli/p/12356310.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!