织梦dedecms有时我们删除文章后,这篇文章内的缩略图和内容图片会留在/uploads/allimg里面,这些图片没有用了,

也很占空间,那么我们就需要在删除织梦dedecms文章的同时删除缩略图和内容大图,方法如下:

打开dede/D ~ ? a Q j Q ]inc/inc_batchup.php,找到”//| L : y删除数据库的内容”,前面加以下代码:
//a m 2 * .删除缩略图
if(2 p %$arcRow[‘litpic’]!=””){
$dsql-&gg b 3 u J v X [ jt;Ex) m GecuV } Z ~teNoneQuery(“Delete From dede_uploads where url=’r s \ o 2 d C –$arcRowu : f 0 o ) ? Z x[litpic]'”);
$truedir = GetTruePath($arc. Z [ s s k F & @Row[‘siterefer’],$arcRow[‘sitepath’]);
$litpicfile = $truedir.$arcRowA V \ 3 _ ) V ; _[‘litpic’];
@unlink($litpicfile);
}
//删除大图
$arcbodyQuery = “Select * from “.$arcRow[‘addtable’].” where aid=t , ~ | [ [ /‘$aid'”;
$arcbodyRow = $dsql->GetOne($arcbodyQuery);
$P D z – cimgsrcarray=GetImageSrc($arcbodyRow[‘body’]);
foreach ($imgsrcarray as $v) {
if((trim($v)!=””)&: X K&(!eregi(“^http://”,$v))){
$dsql->ExecuteNoneQuery(“Del$ ~ 3 / N % , i sete From dede_up. u } v K 1 V m Zloads where url=’$v'”);
$truedir = GetTruePath($aL v U K E } mrcRow[‘siterefer’],$arcRow[‘sitepath’]);
$picfile = $truedir.$v;
@unlink($picfile);
}
}
找到
Select a.ID,a.title,a.typeid,
改成
Selec? 0 ] [ Q Q Dt a.ID,a.title,a.typeid,a.litpic,
在页面最后加入函数
//删除文章同时删除大图函数
function GetImad | * ` s 0 LgeSrc($body){
if( !isset($body)) return;
else{
preg_match_all(“/<(img|IMG)(.*)(src|SRC)=[\”|’|]{0,}([h|\/].*(jpC @ ~ ( z , ;g|JPm B VG|gif|GIF))[\”|’|\s]{0,}/isU”,$body,$out);
return $out[4];
}
}
完成以上修改,就可以7 y J 1了,需要的朋友可以去测试一下。

免责声明:本站所有文章和图片均来自用户分; S R $ e享和网络收集,文章和图片版权归原作者及原出处所有,仅供学习与参考,请勿用于商业用途,D d ? ~ w T/ R J {果损害了您的权利,请联系网站客服处理。

发表回复

您的电子邮箱地址不会被公开。 必填项已用*标注