thumb); }````$arts`当前是一个对象,所以这儿采用`$art" /> thinkphp5 编辑内容 上传新缩略图时删除旧图 删除文章同时删除图_修远兮

网站

thinkphp5 编辑内容 上传新缩略图时删除旧图 删除文章同时删除图

分类 :thinkphp5     2020-06-02 人气:0 0条评论

传新缩略图删除旧图

if($arts->thumb){
                #@作用是出错后不会报错,所以调试的时候要将这个符号去掉
                #该语句作用是,读取出来字段中原图片地址,然后进行删除。
                @unlink("../../uploads/".$arts->thumb);
            }

$arts当前是一个对象,所以这儿采用$arts->thumb的方式,里面存放着查询到文章表中的内容,其中包含thumb缩略图字段信息
该功能放在已上传图片功能的后面就可以,这样新图片也上传了,旧图片也删除了。

此功能放在模型事件里,现在将完整代码放进来
要知道的一点,模型里面的这个$data是对象,而非数组。

Article::event('before_update',function($data){

            $arts = Article::find($data->id);
            #先检字段里有没有图片
            if($arts->thumb){
                #@作用是出错后不会报错,所以调试的时候要将这个符号去掉
                #该语句作用是,读取出来字段中原图片地址,然后进行删除。
                @unlink("../../uploads/".$arts->thumb);

        }
   });

删除文章同时删除图

Article::event('before_delete',function($id){
            if($id->thumb){
            unlink("../../uploads/".$id->thumb);
        }
   });

传进来的$id,已经有内容,也可以推断出thinkphp是在控制器删除时已查询完,发现确实有这个字段后,再进入当前这步。

控制器内容见这篇,我做了专门记录
http://www.xiuyuanxi.com/it/web/1591061393.html

评论

大侠名号:   验证暗号: 点击我更换图片

继续阅读