导航首页 » 网站优化

织梦dedeCMS删除文章时同时删除缩图和内容中大图等附件

2023/03/11 14:23    魔司收录网    已浏览182次

织梦dede删除文章时怎样同时删除缩图和内容中大图,这问题很多朋友都提到了,下面笔者给大家回答下:
打开dede/inc/inc_batchup.php找到"//删除数据库的内容"
在这前面加上
//删除缩略图
1 if($arcRow['litpic']!=""){
2 $dsql->ExecuteNoneQuery("Delete From uploads where url='$arcRow[litpic]'");
3 $truedir = GetTruePath($arcRow['siterefer'],$arcRow['sitepath']);
4 $litpicfile = $truedir.$arcRow['litpic'];
5 @unlink($litpicfile);
6 }

//删除大图
01 $arcbodyQuery = "Select * from ".$arcRow['addtable']." where aid='$aid'";
02 $arcbodyRow = $dsql->GetOne($arcbodyQuery);
03 $imgsrcarray=GetImageSrc($arcbodyRow['body']);
04 foreach ($imgsrcarray as $v) {
05 if((trim($v)!="")&&(!eregi("^http://",$v))){
06 $dsql->ExecuteNoneQuery("Delete From uploads where url='$v'");
07 $picfile = $truedir.$v;
08 @unlink($picfile);
09 }
10 }
//删除数据库的内容
第二处:
找到
Select archives.ID,archives.title,archives.typeid
改为:
Select archives.ID,archives.title,archives.typeid,archives.litpic
第三处:
在文件最后加上一函数
//获得内容中的图像地址

1 function GetImageSrc($body){
2 if( !isset($body)) return '';
3 else{
4 preg_match_all ("/<(img|IMG)(.*)(src|SRC)=["|'|]{0,}([h|/].*(jpg|JPG|gif|GIF))["|'|s]{0,}/isU",$body,$out);
5 return $out[4];
6 }
7 }