Dede 删除文档同时文章中的图片的方法

Dede 删除文档同时文章中的图片的方法

首先,在”/include”目录下建立”extend.func.php”文件. 然后,将以下内容保存在”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]([^ title=”liehuo.net” |\/|>]*){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 [url=mailto:dede_addonarticle.body]dede_addonarticle.body[/url] FROM [url=mailto:`dede_addonarticle]`dede_addonarticle[/url]` WHERE [url=mailto:dede_addonarticle.aid]dede_addonarticle.aid[/url] = ‘$aid'”;

$row = $dsql->GetOne($query);

if(is_array($row))

return $row;

else

return false;

}

//写入日志文件

function WriteToDelFiles($msg)//删除文章的时候会通过此函数记录日志

{

if(empty($msg)) $savemsg=”未获得消息”;

else $savemsg = $msg;

$errorFile = dirname(__FILE__).’/../data/del_body_file.txt’;//删除记录文件

$fp = @fopen($errorFile, ‘a’);

@fwrite($fp,”\r\n{$savemsg}”);

@fclose($fp);

}

接下来打开”/dede/inc/inc_batchup.php”文件。

1:在33行下方加入,也就是”$arcRow = $dsql->GetOne($arcQuery);”下方:

$arcBodyRow = GetArcBody($aid);

2:在138行下方加入,也就是”return true;”上方:

//解析Body中的资源,并删除

$willDelFiles = GetPicsTruePath($arcBodyRow[‘body’],$arcRow[‘litpic’]);

$nowtime = time();

$executetime = MyDate(‘Y-m-d H:i:s’,$nowtime);//获得执行时间

$msg = “\r\n文章标题:$arcRow[title]”;

WriteToDelFiles($msg);

if(!empty($willDelFiles))

{

foreach($willDelFiles as $file)

{

if(file_exists($file) && !is_dir($file))

{

if(unlink($file)) $msg = “\r\n位置:$file\r\n结果:删除成功!\r\n时间:$executetime”;

else $msg = “\r\n位置:$file\r\n结果:删除失败!\r\n时间:$executetime”;

}

else $msg = “\r\n位置:$file\r\n结果:文件不存!\r\n时间:$executetime”;

WriteToDelFiles($msg);

}//END foreach

}

else

{

$msg = “\r\n未在Body中解析到数据\r\nBody原始数据:$arcBodyRow[body]\r\n时间:$executetime”;

WriteToDelFiles($msg);

}

至此,全部修改完成,删除文章时,程序会分析Body中的图片地址,然后删除.并在/data/目录下,产生日志记录文件:del_body_file.txt。

跟版网-专业织梦模板下载平台,转载请注明出处:http://www.genban.org/news/dedecms-7438.html

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/114092.html原文链接:https://javaforall.net

(0)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • 如何实现自定义类加载器_进阶课程

    如何实现自定义类加载器_进阶课程新建一个java文件,保存在相应的目录用cmd命令进入到world类的上级目录,运行javac命令,生成.class文件创建自己定义的classload类//继承ClassLoader类,重写findclass方法。publicclassMyClassloaderextendsClassLoader{privateStringpath;privateStringclassloaderName;publicMyClassloader(Str

    2025年9月22日
    7
  • html中div滚动条设置,DIV滚动条属性及样式设置方式「建议收藏」

    html中div滚动条设置,DIV滚动条属性及样式设置方式「建议收藏」这里向大家描述一下DIV滚动条属性及样式设置,所谓DIV滚动条,就是利用DIV标签,在里面嵌入CSS样式表,加入overflow的属性值,这样,当div所规范的区域内的内容达到一定程序时,滚动条就派上用场。DIV滚动条属性及样式设置所谓DIV滚动条,就是利用DIV标签,在里面嵌入CSS样式表,加入overflow的属性值,这样,当div所规范的区域内的内容达到一定程序时,滚动条就派上用场。其功能大…

    2022年7月12日
    50
  • 公安大数据平台应用与公安大数据建模「建议收藏」

    公安大数据平台应用与公安大数据建模「建议收藏」基于沃达德大数据平台,通过对海量数据采集、处理、存储、分析和数据挖掘,根据数据的特性,采用合适的可视化方式,将数据直观地展现出来,以帮助人们认识数据、理解数据,同时找出包含在海量数据中的规律或者信息。公安大数据主要由公安业务数据、地理信息数据、互联网数据等组成。通过沃达德大数据平台,对公安大数据进行信息提取、分析、数据挖掘和可视化,用于警情时空分布和时空演化、犯罪事件热点分析、关注对象的轨迹跟踪等多个公安业务领域,全面提升公安机关的整体工作效率。沃达德公安大数据平台,利用接警数据进行警情密度分析,以大数

    2022年6月6日
    202
  • mesh和ADhoc区别[通俗易懂]

    mesh和ADhoc区别[通俗易懂]adhoc网络和无线Mesh网络都采用分布式、自组织的思想形成网络,网络每个节点都具备路由功能,随时为其他节点的数据传输提供路由和中继服务。adhoc网络主要侧重应用于移动环境中,确保网络内任意两个节点的可靠通信,网络内数据流可以包括语音、数据和多媒体信息。无线Mesh网络是一种无线宽带接入网络,利用分布式思想构建网络,让用户在任何时间、任何地点都可以对互联网进行高速无线访问,是由ADh…

    2025年6月23日
    4
  • php开源的客服系统_在线客服源码php

    php开源的客服系统_在线客服源码php在线客服系统软件使开发和运营团队能够高速协作,因此要求源码系统能够快速响应业务变化,并快速提供出色的客户和员工服务体验。  在线客服源码演示及获取:https://gitee.com/wang_li989/kfxt  客服沟通问题加起来会成为重大的财务损失。您的组织快速有效地解决这些问题的能力直接影响到未满足的SLA义务和客户体验,这两个方面对公司的成功至关重要。在线客服系统是企业战略的核心组成部分。通过减少识别和解决问题所需的时间,您的组织可以提高客户忠诚度,最大限度地延长正常运行时间,并提供始终如

    2022年4月19日
    53
  • Linux之旅(1): diff, patch和quilt (下)

    Linux之旅(1): diff, patch和quilt (下)

    2021年11月14日
    41

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号