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)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • 第12章方差分析介绍课_t检验中的第一类错误是指

    第12章方差分析介绍课_t检验中的第一类错误是指方差分析用以比较两组及以上处理之间的平均数差异的情况因素:方差分析中,用于分派组别的变量水平:因素的个别情形或个别值方差分析与t检验比较(为什么使用方差分析而不用t检验多次比较均值差异):检验α水平:做一个单独的假设检验时犯第一类错误的可能性。实验α水平:当一个实验包括多个不同的假设检验时,实验中全部独立的检验所犯第一类错误积累后的犯错总概率。通常,实验α水平比任何一个单独的检验的α值大。方差分析可在一次实验中同时进行三个及以上均值差异的比较,避免了实验α的膨胀。方差分析…

    2022年10月10日
    2
  • ReleaseMutex函数

    ReleaseMutex函数ReleaseMutex函数的功能是释放互斥对象的控制权函数原型BOOLWIANPIReleaseMutex(HANDLEhMutex);返回值BOOL,TRUE表示成功,FALSE表示失败。参数表hMutex:HANDLE,制定一个互斥体的句柄。注释一个线程释放了互斥对象的控制权后,如果其他进程在等待互斥对象置位,则等待的线程可以得到该互斥对象,等待

    2022年6月26日
    30
  • 数据结构面试经典问题汇总及答案_数据结构基础面试题

    数据结构面试经典问题汇总及答案_数据结构基础面试题数据结构面试经典问题汇总参考资源:基础深入补充:参考资源:基础数据结构常见面试题深入数据结构面试题(三)数据结构面试必问数据结构算法常见面试考题补充:1.数组和链表的区别,请详细解释。从逻辑结构来看:a)数组必须事先定义固定的长度(元素个数),不能适应数据动态地增减的情况。当数据增加时,可能超出原先定义的元素个数;当数据减少时,造成内存浪费;数组可以根据下标直接存取。b)链表动态地进行存储分配,可以适应数据动态地增减的情况,且可以方便地插入、删除数据项。(数组中插入、删除

    2022年9月19日
    3
  • python视频网站项目_价值2400元的python全栈开发系列Flask Python Web 网站编程视频

    python视频网站项目_价值2400元的python全栈开发系列Flask Python Web 网站编程视频2e/b4F1c’H$D!X价值2400元的python全栈开发系列FlaskPythonWeb网站编程视频-优品课堂’z3_1Y7]6j4z#p#r#g*A9e8k5h’V7w,M$f6C6X*e”J2N课程目录:%v2_&D+L5_)a$L;C.C01-计算机基础常识.mp49T,_9X9p+y4B7…

    2022年5月7日
    43
  • thrift异步调用

    thrift异步调用关于异步,我找了很多资料,java方面的比较多,可c的少之又少,很多就是简单提一下,也么说怎么用,最后终于还是自己研究出来了异步分为服务端异步与客户端异步两部分,理论上他们两者是无关的,不论服务端同步与否,客服端都可以做成异步的。客户端异步客户端异步比较简单,服务端可以使用任何server,TThreadPoolServer或TNonblockingServer等随意,客户端不调用自动

    2022年7月27日
    3
  • 区位基尼系数_基尼系数直接计算法

    区位基尼系数_基尼系数直接计算法转载于:http://blog.sciencenet.cn/blog-3376208-1093109.html区域经济研究中,经常需要测度产业空间集中的程度,常用的指标有区位基尼系数(LocationalGiniCoefficient)、泰尔指数(TheilIndex)和EG指数等。这一期先讲区位基尼系数的计算方法及其实现函数,后几期再陆续介绍泰尔指数和EG指数。用Excel算区位基尼系数,尽管也可实现,但非常笨拙,而且可重复性差。然而,其计算方法是非常简单的,用R语言写一个函数来实现之,犹如杀

    2022年10月13日
    2

发表回复

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

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