星联网络专注帝国CMS二次功能插件开发-精品网站模板站长代码素材

  • 最近更新
  • 模板:33
  • 记录:12641|
  • 插件:52|
  • 工具:4|
  • 代码:8|
  • 评论:0

织梦dedecms删除文章的同时删除该文章下的图片和附件

前言

本文主要讲解《织梦dedecms删除文章的同时删除该文章下的图片和附件》的详细内容

织梦在发布文章的时候,难免需要一些图片等等让文章更丰富,但是在删除的时候也有了一定的复杂度。这次就分享一个很实用的功能,删除织梦文章的同时删掉该文章下的图片与附件等文件,有效的节省了后期慢慢排除无用图片和附件的时间还实时节省了一些不必要的存储空间。

实现方法如下:

1.打开/include/extend.func.php文件,在最后加入如下代码

//解析body数据,获得所有图片的绝对地址
functionGetPicsTruePath($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($picspathas$tmppath)
{
$path=GetTruePath();//获得绝对路径
$picpath=preg_replace("/[a-zA-z]+:\/\/[^|\/|\s]*/",'',$tmppath);//去掉网址部分
$path.=$picpath;
$delfiles[]=$path;//保存处理后的数据
}
return$delfiles;
}
//获得文章Body数据
functionGetArcBody($aid)
{
global$dsql;
$query="SELECTjs_addonarticle.bodyFROMxmzy_addonarticleWHERExmzy_addonarticle.aid='$aid'";
$row=$dsql->GetOne($query);
if(is_array($row))
return$row;
else
returnfalse;
}//mobantianxia.cn修改于2010.01.28
//写入日志文件
functionWriteToDelFiles($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-dH:i:s',$nowtime);
//获得执行时间
$msg="文章标题:$arcRow[title]";
WriteToDelFiles($msg);
if(!empty($willDelFiles))
{
        foreach($willDelFilesas$file)
        {
                if(file_exists($file)&&!is_dir($file))
                {
                        if(unlink($file))$msg="位置:$file结果:删除成功!时间:$executetime";else$msg="位置:$file结果:删除失败!时间:$executetime";
                }
                //mobantianxia.cn修改于2010.01.28else$msg="位置:$file结果:文件不存!时间:$executetime";
                WriteToDelFiles($msg);
        }
        //ENDforeach
}else
{
        $msg="未在Body中解析到数据Body原始数据:$arcBodyRow[body]时间:$executetime";
        WriteToDelFiles($msg);
}

到此就结束了,删除了文章会连带当前文章的图片和附件一气删除。

本网刊登的文章均仅代表作者个人观点,并不代表本网立场。文中的论述和观点,敬请读者注意判断。

本文地址:http://www.xlkjgs.com/notes/web/11310.html

以上内容由本站整理呈现,请务必在转载分享时注明本文地址!如对内容有疑问,请联系我们,谢谢!

星联网络

星联网络是中国最具实战的互联网创业者的知识服务商,这里有互联网行业动态,网络推广,SEO优化,SEM优化,ESC配置,行业经验分型,互联网项目,微信营销、淘宝客赚钱、新媒体营销、京东运营、跨境电商等众多互联网营销知识分享

站长运营站长必备网站运营之道才能长久发展