[php] Thinkphp删除图片和数据库记录

scandir 判断目录是否为空,为空则使用rmdir 删除

        $listArticle = M('listArticle');
        if(I('get.id')) {  // 获取删除的id
            $thumbnail = $listArticle->where('id='.I('get.id'))->getField('thumbnail');
            $uploadDir = './Uploads/'.dirname($thumbnail);
            if($thumbnail) {  // 判断是id对应的字段否存在
                unlink('./Uploads/'.$thumbnail);
                // 如果目录为空则删除目录
                if(count(scandir($uploadDir))==2) {
                    rmdir($uploadDir);
                }
            }

            // 删除对应的记录
            if($listArticle->delete(I('get.id'))) {
                // 实现删除图片
                echo '<script>alert("删除成功!");</script>';
            } else {
                $this->error('删除失败!', '', 1);
            }
        }

删除空目录及空子目录方法(借鉴):

function rm_empty_dir($path){  
    if(is_dir($path) && ($handle = opendir($path))!==false){  
        while(($file=readdir($handle))!==false){     // 遍历文件夹  
            if($file!='.' && $file!='..'){  
                $curfile = $path.'/'.$file;          // 当前目录  
                if(is_dir($curfile)){                // 目录  
                    rm_empty_dir($curfile);          // 如果是目录则继续遍历  
                    if(count(scandir($curfile))==2){ // 目录为空,=2是因为. 和 ..存在  
                        rmdir($curfile);             // 删除空目录  
                    }  
                }  
            }  
        }  
        closedir($handle);  
    }  
}  
  
$folder = '目标文件夹';  
  
rm_empty_dir($folder);  

欢迎关注技术开发分享录:http://fenxianglu.cn/

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

天空还下着雪

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值