dedecms 删除文章同时删除缩率图以及文章图片
测试5.6版本 我用的是GBK
方法:
这里我还是把完整的代码放出来 省的大家看不懂,遭到大家的火炮攻击 呵呵
我贴代码之前 大家一定要记着一定要按照我说的走,没有按照我说的走的,出问题,别骂我,我先声明,如果按照我说的走,出问题了,你随便骂我,我不还口,不废话了 贴代码
首先,在"/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]([^|\/|>]*){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 #@__addonarticle.body FROM #@__addonarticle WHERE #@__addonarticle.aid ='$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:在大概102下方加入,也就是" if(@is_file($filenameh)) @unlink($filenameh);"下方:
//解析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);
}
分享到:
相关推荐
DEDE定时发布文章插件是针对DEDE CMS(织梦内容管理系统)开发的一款实用工具,主要用于网站内容的自动化管理。该插件版本为5.7GBK,适配DEDE CMS的5.7版本,并且支持GBK编码。在网站运营过程中,定时发布功能能够...
5. **批量处理现有文章**:如果网站上已经有很多文章,可以编写一个SQL查询或者使用DEDE的后台功能,批量更新这些文章的图片ALT属性。这一步可能需要一些数据库操作知识,但通常DEDE的后台提供了一些数据处理工具。 ...
在本文中,我们将深入探讨如何使用DEDE CMS(织梦内容管理系统)来解决自定义文章名称的URL问题,以实现更优化的SEO策略。 DEDE CMS是一款广泛使用的开源PHP内容管理系统,它提供了丰富的功能,包括自定义文章URL,...
DEDE栏目添加图片是织梦内容管理系统(DEDE CMS)中的一个重要功能,它允许用户在网站的各个栏目中插入和管理图片,以丰富网站内容,提高用户体验。DEDE CMS是一款广泛应用的开源PHP CMS,以其易用性和灵活性受到很...
标题 "ASPCMS DEDE 文章导入 Pbootcms" 涉及到的是一个网站内容管理系统(CMS)的数据迁移过程,具体是从ASPCMS(ASP.NET开发的CMS系统)到DEDE CMS(基于PHP的开源CMS)的文章数据导出,然后导入到PbootCMS(也是一...
1. 常用内容标签:如`{dede_archives}`用于获取文章内容,`{dede_column}`用于获取栏目信息,`{dede_link}`用于链接管理,`{dede_image}`则处理图片标签,它们是构建DEDE网站的基础。 2. 条件判断标签:如`{dede_if...
这些标签用于从数据库中获取并展示内容,如文章、图片、分类信息等。通过在HTML模板文件中插入DEDE标签,你可以动态地从后台数据库中拉取数据,实现页面的动态生成。 1. **基础DEDE标签** - `{dede:field.name/}`...
《DeDe反编译工具深度解析》 在IT行业中,逆向工程是一项不可或缺的技术,它主要涉及对已编译的程序进行分析,以揭示其内部结构和工作原理。本文将聚焦于一款名为“DeDe反编译工具”的软件,这款工具专为反编译...
【dede插件开发教程】 在内容管理系统(CMS)中,dede是一个广泛使用的平台,以其灵活的模板引擎和强大的自定义能力深受开发者喜爱。如果你希望通过二次开发来拓展dede的功能,本教程将引导你逐步了解如何进行dede...
【标题】"DeDe反编译工具 DEDE 3.50.4的修改版"是针对Delphi和BCB(Borland C++ Builder)应用程序的反编译工具,主要用于帮助开发者分析和理解Delphi或...同时,提供的示例程序和配置文件为学习和使用DEDE提供了便利。
2021年新开发的dede织梦定时自动审核文章V2.4版本+推送接口。织梦程序utf+gbk都可以用。这是在2.3版本的基础上做的升级,并且增加了gbk编码支持。 采集站有了这个插件,就可以解放双手了,不用自己在盯着后台去点...
1. 文章标签:如`{dede:arclist}`,可以用来显示文章列表,可以设置排序方式、显示数量、是否包含子分类等内容。 2. 分类标签:如`{dede:channelartlist}`,用于展示指定栏目的文章列表,可以配合其他属性调整展示...
【dede图片替换工具】是一款专门针对dede系统的图片替换软件。在内容管理系统(CMS)如DEDECMS(织梦内容管理系统)中,网站维护人员经常需要更新或替换已有的图片资源,这款工具就是为此目的设计的。DEDECMS是一个...
dede搜索页面调用栏目文章需要修改的文件, arc.searchview.class.php
- **解释**:这里使用`dede:sql`标签来查询`dede_archives`表中`mid`(会员ID)为1的所有文章,并通过`[field:]`标签展示每篇文章的标题及链接。 - **注意**:`mid`为用户ID,可以根据需要调整此值。 2. **统计...
同时,通过缓存插件(如W3 Total Cache或WP Super Cache)和优化图片大小等手段,提升网站加载速度。 8. **SEO优化**:WordPress和DedeCMS都重视SEO,但两者的方法略有不同。开发者需要调整模板和配置,以确保...
图片字段:arcpic 调用图片路径:{dede:field.arcpic/} 执行下面的sql: ALTER TABLE `dede_arctype` ADD `arcpic` VARCHAR( 200 ) NULL 注意事项:如果你只给父栏目添加了图片,而子栏目想用父栏目图片请使用...