织梦dedecms删除文章的同时删除缩略图和附件的方法

2017-03-27 20:23:04 dedecms
在网站使用过程中,有时会删除一些文章,而文章中附带的图片和附件会仍然留在服务器中。这样让我们个人站长很纠结啊!太浪费空间了!那么如何在删除文章的同时也删除掉缩略图和附件呢?
打开 dede/inc/inc_batchup.php 文件
找到
//删除数据库的内容
在其前面添加
//删除缩略图
f($arcRow['litpic']!=""){
$dsql->ExecuteNoneQuery("Delete From sq_uploads where url='$arcRow[litpic]'");
$truedir = GetTruePath($arcRow['siterefer'],$arcRow['sitepath']);
$litpicfile = $truedir.$arcRow['litpic'];
@unlink($litpicfile);
}
//删除大图
$arcbodyQuery = "Select * from ".$arcRow['addtable']." where aid='$aid'";
$arcbodyRow = $dsql->GetOne($arcbodyQuery);
$imgsrcarray=GetImageSrc($arcbodyRow['body']);
foreach ($imgsrcarray as $v) {
if((trim($v)!="")&&(!eregi("^",$v))){
$dsql->ExecuteNoneQuery("Delete From sq_uploads where url='$v'");
$truedir = GetTruePath($arcRow['siterefer'],$arcRow['sitepath']);
$picfile = $truedir.$v;
@unlink($picfile);
}
}

找到
Select a.ID,a.title,a.typeid,
修改为
Select a.ID,a.title,a.typeid,a.litpic,
在页面最后添加一个函数
//删除文章同时删除大图函数
function GetImageSrc($body){
if( !isset($body)) return;
else{
preg_match_all("/