欢迎访问融科网络!我们专注于郑州网站建设郑州网站制作郑州网站设计郑州做网站等相关服务!
营销之道 干货分享
了解企业新动态,分享前沿的营销推广干货,成长路上,我们携手同行

编程代码

织梦CMS删除新闻的同时删除该新闻下的图片和附件

标签: 作者:融科网络 | 点击:
31

Oct
2019

导语
织梦在发布新闻的时候,难免需要一些图片等等让新闻更丰富,但是在删除的时候也有了一定的复杂度。这次就分享一个很实用的功能,删除 织梦 新闻的同时删掉该新闻下的图片与附
 

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

实现办法如下: 

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);//去掉URL部分      $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  //写入log文件   function WriteToDelFiles($msg)//删除新闻的时候会通过此函数记录log   {   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);

最后找到:

return TRUE;

在这句话上边添加:

//解析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); }

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

郑州融科网络专注于企业网站建设、网站制作、高端网站设计,郑州荥阳、上街做网站就找融科网络!
本文章网址:http://www.ppssdd.com/code/13361.html。转载请保留出处,谢谢合作!

全网(营销型+响应式)专业定制

快速搭建高询盘+营销独立站

微信扫一扫 添加微信

推荐分享,免费SEO诊断

扫码加好友,即送价值1880元的SEO优化教程

(网站没排名,轻松让关键词上首页!专注H5企业建站+网站优化推广)

上一篇:dede独立模型中的联动类型字段是怎么在新闻页面中显示枚举名的

下一篇:怎么让{dede:channel}有子栏目显示子栏目,无子栏目不显示同级栏目

  • 网站建设咨询
  • 网站建设案例
建站流程
  • 网站需
    求分析
  • 网站策
    划方案
  • 页面风
    格设计
  • 程序设
    计研发
  • 资料录
    入优化
  • 确认交
    付使用
  • 后续跟
    踪服务
  • 151-3895-5886
  • 品牌网站建设定制
  • 营销型网站建设定制