Home > CMS Tutorial > DEDECMS > How to delete articles and attachments in dedecms

How to delete articles and attachments in dedecms

藏色散人
Release: 2019-12-21 10:29:12
Original
2480 people have browsed it

How to delete articles and attachments in dedecms

dedecms怎么删除文章同时也删除附件?

dedecms删除文章同时也删除附件的修改方法

dedecms删除文章同时也删除附件的修改方法,使用dedecms的朋友可以参考下。

  推荐学习:织梦cms

首先添加两个函数 

代码如下:

/* 
根据文档id获取文档的body部分 
*/ 
function getArcBody($arcid) 
{ 
global $dsql; 
if(empty($arcid)) return ; 
$body = ''; 
$query = "select arc.*,ch.addtable,ch.fieldset from `dede_arctiny` as arc left join `dede_channeltype` as ch on arc.channel=ch.id where arc.id=$arcid"; 
$row = $dsql->GetOne($query); 
if(empty($row)) return ; 
$addtable = $row['addtable']; 
$fieldset = $row['fieldset']; 
include_once(DEDEINC.'./dedetag.class.php'); 
$dtp = new DedeTagParse(); 
$dtp->SetNameSpace(&#39;field&#39;,&#39;<&#39;,&#39;>&#39;); 
$dtp->LoadSource($fieldset); 
if(is_array($dtp->CTags)) 
{ 
foreach($dtp->CTags as $tid=>$tag) 
{ 
if($tag->GetAtt(&#39;type&#39;)==&#39;htmltext&#39;) 
{ 
$body = $tag->GetName(); 
break; 
} 
} 
} 
if(!empty($body)) 
{ 
$query = "select $body from `$addtable` where aid=$arcid"; 
$row = $dsql->GetOne($query); 
$body = $row[$body]; 
return $body; 
} 
return ; 
} 
/* 
解析文档内容的本地图片图片 
*/ 
function get_img_from_body($body) 
{ 
$result = array(); 
if(empty($body)) 
return $result; 
preg_match_all(&#39;/\ssrc=([\"|\&#39;])([^\1]*?)\.(gif|jpg|jpeg|png)\1/&#39;,$body,$res); 
if(!empty($res[2])) 
{ 
foreach($res[2] as $k=>$v) 
{ 
$result[] = $v.&#39;.&#39;.$res[3][$k]; 
} 
} 
return $result; 
}
Copy after login

把这段代码贴到include/common.func.php后面,

接着打开后台(假设使用默认的dede作为后台)dede/inc/inc_batchup.php文件,

在第22行添加代码如下:

$body = getArcBody($aid);
Copy after login

接在在第139行,就是在

return true;
Copy after login

上面一行加上下面的代码

代码如下:

if($body) 
{ 
$img_arr = get_img_from_body($body); 
if(!empty($img_arr)) 
{ 
foreach($img_arr as $v) 
{ 
$img_file = GetTruePath().str_replace($GLOBALS[&#39;cfg_basehost&#39;],&#39;&#39;,$v); 
if(file_exists($img_file) && !is_dir($img_file)) 
@unlink($img_file); 
} 
} 
}
Copy after login

这样就可以实现删除文档的时候删除字段为“htmltext”类型的中的本地图片了。 

The above is the detailed content of How to delete articles and attachments in dedecms. For more information, please follow other related articles on the PHP Chinese website!

Related labels:
source:php.cn
Statement of this Website
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn
Popular Tutorials
More>
Latest Downloads
More>
Web Effects
Website Source Code
Website Materials
Front End Template