织梦dedecms删除文章的同时删除该文章下的图片和附件
织梦在发布文章的时候,难免需要一些图片等等让文章更丰富,但是在删除的时候也有了一定的复杂度。这次就分享一个很实用的功能,删除织梦文章的同时删掉该文章下的图片与附件等文件,有效的节省了后期慢慢排除无用图片和附件的时间还实时节省了一些不必要的存储空间。
实现方法如下:
1.打开/include/extend.func.php文件,在最后加入如下代码
//解析body数据,获得所有图片的绝对地址function GetPicsTruePath($body,$litpic) { $delfiles = array(); //存储图片地址数据 if(!empty($litpic)) { $litpicpath = GetTruePath(); $litpicpath .= $litpic; $delfiles[] = $litpicpath; //缩略图地址 } preg_match_all("/src=[\"|'|\S|\s]([^ |\/|>]*){0,}(([^>]*)\.(gif|jpg|png))/isU",$body,$tmpdata); $picspath = array_unique($tmpdata[2]);//body中所有图片的地址 foreach($picspath as $tmppath) { $path = GetTruePath();//获得绝对路径 $picpath = preg_replace("/[a-zA-z]+:\/\/[^ |\/|\s]*/",'',$tmppath);//去掉网址部分 $path .=$picpath; $delfiles[] = $path;//保存处理后的数据 } return $delfiles; } //获得文章Body数据 function GetArcBody($aid) { global $dsql; $query = "SELECT js_addonarticle.body FROM xmzy_addonarticle WHERE xmzy_addonarticle.aid = '$aid'"; $row = $dsql->GetOne($query); if(is_array($row)) return $row; else return false; } //mobantianxia.cn修改于2010.01.28 //写入日志文件 function WriteToDelFiles($msg)//删除文章的时候会通过此函数记录日志 { if(empty($msg)) $savemsg="未获得消息"; else $savemsg = $msg; $errorFile = dirname(__FILE__).'/../data/del_body_file.txt';//删除记录文件 $fp = @fopen($errorFile, 'a'); @fwrite($fp," {$savemsg}"); @fclose($fp); }
2.打开dede/inc/inc_batchup.php文件,找到:
$arcRow= $dsql->GetOne($arcQuery);
在下边添加:
$arcBodyRow= GetArcBody($aid);
最后找到:
returnTRUE;
在这句话上边添加:
//解析Body中的资源,并删除$willDelFiles = GetPicsTruePath($arcBodyRow['body'],$arcRow['litpic']); $nowtime = time(); $executetime = MyDate('Y-m-d H:i:s',$nowtime); //获得执行时间 $msg = " 文章标题:$arcRow[title]"; WriteToDelFiles($msg); if(!empty($willDelFiles)) { foreach($willDelFiles as $file) { if(file_exists($file) && !is_dir($file)) { if(unlink($file)) $msg = " 位置:$file 结果:删除成功! 时间:$executetime"; else $msg = " 位置:$file 结果:删除失败! 时间:$executetime"; } //mobantianxia.cn修改于2010.01.28 else $msg = " 位置:$file 结果:文件不存! 时间:$executetime"; WriteToDelFiles($msg); } //END foreach } else { $msg = " 未在Body中解析到数据 Body原始数据:$arcBodyRow[body] 时间:$executetime"; WriteToDelFiles($msg); }
到此就结束了,删除了文章会连带当前文章的图片和附件一气删除。
免责声明:本站所有文章和图片均来自用户分享和网络收集,文章和图片版权归原作者及原出处所有,仅供学习与参考,请勿用于商业用途,如果损害了您的权利,请联系网站客服处理。
来源:网友投稿 关注:
时间:2018-03-21 11:39
☉首先声明,只要是我们的vip会员所有源码均可以免费下载,不做任何限制(了解更多)
☉本站的源码不会像其它下载站一样植入大量的广告。为了更好的用户体验以后坚持不打水印
☉本站只提供精品织梦源码,源码在于可用,不在多!!希望在这里找到你合适的。
☉本站提供的整站织梦程序,均带数据及演示地址。可以在任一源码详情页查看演示地址
☉本站所有资源(包括源码、模板、素材、特效等)仅供学习与参考,请勿用于商业用途。
☉如有其他问题,请加网站客服QQ进行交流。
☉本站的源码不会像其它下载站一样植入大量的广告。为了更好的用户体验以后坚持不打水印
☉本站只提供精品织梦源码,源码在于可用,不在多!!希望在这里找到你合适的。
☉本站提供的整站织梦程序,均带数据及演示地址。可以在任一源码详情页查看演示地址
☉本站所有资源(包括源码、模板、素材、特效等)仅供学习与参考,请勿用于商业用途。
☉如有其他问题,请加网站客服QQ进行交流。
相关织梦教程:
- dedecms SQL注入漏洞 member/album_add.php 修复
- dedecms cookies泄漏导致SQL漏洞 /member/article_add
- Windows虚拟主机指定目录禁用脚本执行权限方法
- 西部数码虚拟主机设置禁止脚本执行权限
- 阿里云主机设置织梦程序禁止脚本执行权限及禁止写入
- dedecms织梦导致CPU峰值现象的解决办法
- 织梦程序网站被挂马或快照劫持终极解决办法
- 阿里云提醒/member/reg_new.php注入漏洞解决办法
- 织梦安全:更改plus名称
- 织梦栏目属性增加链接rel、nofollow和新窗口target
- 织梦问答模块PHP7报错解决方法
- dedecms解决移动端首页不自动更新问题