您当前的位置: 主页 > 优化教程
首先,在"/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:%60dede_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。
 

关键词:Dede,删除,文档,同时,文章,中的,图片,的,方法,    标签:
    更多资讯请收藏关注 网站模板(www.1yc.cn)

dedecms修改默认keywords字符长度的方法关键词在搜索引擎优化这一方面有着非常重要的作用,简单来讲,关键词一般指... 2021-07-30
小修改让点击数(浏览量)变得更随机一般来说,织梦网站是每刷一次,点击数(浏览量)增加1,那怎么怎么样才能... 2021-08-14
织梦dedecms简单实现上一篇下一篇中英文显示织梦中文上一篇、下一篇调用: 上一篇:{dede:prenext ge... 2021-07-22
织梦万能loop循环标签可以调用任意数据DedeCMS v5.7手册中的loop万能标签非常有用,可以使用它来... 2021-07-27
织梦指定栏目在新窗口打开越来越多的人开始在php空间中使用dedecms织梦程序建立网站,有的... 2021-08-14
dede:field name=position去除最后一个大于符号事情: dede提供了面包屑的功能。但是最后面总会带一个符号。甚是烦人... 2021-07-27
DEDECMS获取指定栏目下面的文章数量DEDECMS 获取指定栏目下面的文章数量,可以写一个自己的小助手,然... 2021-07-22
dedecms5.7织梦调用文档评论次数的办法建站解决办法 cmsxx_archives 添加postcount i... 2021-07-27
自定义 DedeCMS 友情连接 flink 标签模板编写格式在织梦dedecms系统中友情链接虽然功能不错,但大多数人使用时都觉得... 2021-08-09
织梦DedeCMS循环调用多级栏目及内容列表Dedecms还是比较不错的,当然,除了论坛的技术回复速度!!今天分享... 2021-07-27
织梦织梦教程 tag标签字符长度限制该怎样解决呢经常坐网站优化的站长朋友们都知道,网站优化的时候都会首先设置好标题,描... 2021-08-14
织梦生成栏目列表后,前台访问空白解决方法织梦生成栏目列表后,前台访问空白解决方法: 打开 \include\a... 2021-07-22
dedecms修改默认50-200随机点击数的范围dedecms有一个挺有意思的功能,及时dedecms在后台发表新的文... 2021-07-30
PbootCMS数据库Mysql配置解决办法!PbootCMS数据库配置 默认采用sqlite数据库,不需要做导入和... 2023-08-04
织梦dede自定义内容分页,datalist运用实例在/plus文件夹中新建一个ceshi.php文件。。 ?php re... 2021-07-30
dedecms标签:flink友情链接调用标签标签名称:flink 标记简介: 功能说明:用于获取友情链接 适用范围... 2021-07-22
织梦简略标题(副标题)使用方法教程在常见的CMS系统中,我对dedecms算是比较熟悉的,自己网站用的也... 2021-08-14

线
咨询热线:
135-0038-3336
在线客服:
点击这里给我发消息
微信交流:
公司官网: www.1yc.cn