您的位置:首页 > 编程语言 > PHP开发

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

2017-04-24 11:35 323 查看
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);


                                            
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: