网站源码-图片-资料下载-学习资料-牛资料网!只做精品资料网
  • 首 页
  • 织梦删除服务器中多余的没有被调用的图片
    时间:2018-08-20 20:54 来源:www.xyhndec.com 作者:牛资料网 浏览:收藏 挑错 打印

    我们的网站时常会删除一些文章,但是有个问题,就是删除文章的同时,文章内的图片还保存在网站空间中,占用了服务器资源。

     

    一般来说有二种情况,我们分别来操作:

    1、删除文章的同时,删除该文章内的图片,

    打开dede/inc/inc_batchup.php

    第一处找到

    "//删除数据库的内容"

    在这前面加上

     

    //删除缩略图
    if($arcRow['litpic']!=""){
    $dsql->ExecuteNoneQuery("Delete From dede_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 dede_uploads where url='$v'");
    $picfile = $truedir.$v;
    @unlink($picfile);
    }
    }
    //删除数据库的内容

     

    第二处:找到

    Select dede_archives.ID,dede_archives.title,dede_archives.typeid

     

    改为:

    Select dede_archives.ID,dede_archives.title,dede_archives.typeid,dede_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];
    }
    }

     

    2、那就是很早之前删除了很多文章,当时并没有完成第一种情况时的修改, 意思就是明知道空间中有多余的图片。

    找到后台路径中的

    dede/templets/content_batch_up.htm

    找到下面代码:

    <inputclass="np"type="radio"checked="checked"name="action"value="modddpic"/><br />

    更正缩图错误<br />

    <inputclass="np"type="radio"name="action"value="delerrdata"/><br />

    清空错误的文档数据</td>

    修改成:

    <inputclass="np"type="radio"checked="checked"name="action"value="modddpic"/><br />
    
    更正缩图错误<br /> <inputclass="np"type="radio"name="action"value="delerrdata"/><br />
    
    清空错误的文档数据<br /> <inputclass="np"type="radio"name="action"value="delerrpic"/><br />
    
    清空错误的图片</td>

     

    找到

    dede/content_batchup_actionphp

    在最后一个大括号后增加


    elseif($action == 'delerrpic')
    {
    $file_a=array();
    function rFile($p){
      global $file_a;
      $handle=opendir($p);
      $dir_a=array();
      while ($file = readdir($handle)) {
       if($file!="." && $file!=".."){
        $tmp=$p."/".$file;
        if(is_dir($tmp)){
         $dir_a[count($dir_a)]=$tmp;
        }elseif(is_file($tmp)){
         $file_a[count($file_a)]=$tmp;
        }
       }
      }
      closedir($handle);
      foreach($dir_a as $v){
       rFile($v);
      }
    }
    rFile("../uploads/allimg");//调用,要遍历的目录
    foreach($file_a as $v){
      $temp=substr($v,2);
      $query = "select count(*) from dede_addonarticle where body like '%".$temp."%'";
      $dsql->setquery($query);
      $dsql->execute();
      while($row = $dsql->getarray())
      {
       if($row[0]==0){
        if(substr($v, -8, 4)!="_lit" && substr($v, -10, 5)!="index"){
         if(file_exists($v))
          unlink($v);
        }
       }
      }
    }
    $dsql->Close();
    ShowMsg("成功清除错误图片!","javascript:;");
    exit();


    郑重声明:
    牛资料网所有内容均由互联网收集整理、网友上传,并且以计算机技术研究交流为目的,仅供大家参考、学习,不存在任何商业目的与商业用途。 若您需要商业运营或用于其他商业活动,请您购买正版授权并合法使用。
    我们不承担任何技术及版权问题,且不对任何资源负法律责任。
    如无法下载,联系牛资料网索要。
    如有侵犯您的版权,请及时联系QQ:964613048,我们尽快处理。

    dede5.7文档关键词维护项“链接网址”过长被截断解决办法dede5.7文档关键词维护项“链接网址”
    织梦dedecms文章列表循环标签增加notypeid属性对指定栏目过滤织梦dedecms文章列表循环标签增加notyp
    织梦dedecms专题模板应用分析及使用案例织梦dedecms专题模板应用分析及使用案
    推荐栏目
    • 客服:我们竭诚为您服务!
    • 客服:我们竭诚为您服务!