dede4.0删除文章时删除缩图和内容中大图
昨天逛了下dede的官方论坛,发现了这个东东,挺不错的,加上他pig


一下是论坛的帖子引用:
献给98la ,[小功能]删除文章时删除缩图和内容中大图
看到有人跪求,挺不容易的,我就花了二十分钟,修改了一下删除文章的函数,目的是丰富DEDE,为了DEDE更好!献一分力!

我测试删了一篇,缩略图能删掉,文章内的大图没测试,有问题回帖!
打开dede/inc/inc_batchup.php

找到"//删除数据库的内容"
在这前面加上

  //删除缩略图
  if($arcRow['litpic']!=""){
      $dsql->ExecuteNoneQuery("Delete From #@__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("^http://",$v))){
        $dsql->ExecuteNoneQuery("Delete From #@__uploads where url='$v'");
        $picfile = $truedir.$v;
        @unlink($picfile);
    }
  }

  //删除数据库的内容


第二处:
找到
  Select #@__archives.ID,#@__archives.title,#@__archives.typeid
改为:
  Select #@__archives.ID,#@__archives.title,#@__archives.typeid,#@__archives.litpic


第三处:
在文件最后加上一函数
//获得内容中的图像地址
function GetImageSrc($body){
  if( !isset($body)) return '';
  else{
    preg_match_all ("/<(img|IMG)(.*)(src|SRC)=[\"|'|]{0,}([h|\/].*(jpg|JPG|gif|GIF))[\"|'|\s]{0,}/isU",$body,$out);
    return $out[4];
  }
}

希望大家能顶起来,不要打击我的信心啊!不然下次看到有需求我就不做了!
From: 本站原创
已经有0个回复 引用(0)
看完了要说点啥?

昵称

网址

电邮

打开UBB 表情 打开表情 隐藏 记住我 [注册]