• 全国400电话网上服务平台
    强大号码库资源任选,方便,快捷,快速开通。
    咨询热线:400-1100-266  

    批量删除Dedecms遗留无用的图片代码
    POST TIME:2018-03-15 21:23
    网站运营时间长了总会留下一些过时的没用的内容,特别是采集的数据,其中难免有些不需要或者过时的内容,但在删除文章时Dedecms并不能帮我们删除其中的附带的图片,导致遗留的图片在系统中越来越多,变成了系统垃圾,对于空间不足的朋友更是麻烦,如果数据量较小时可以删除手动删除,但当数据量大时就有些力不从心了。   下面是一个网友自己写的一个可以用于批量删除遗留图片的代码。   一、找到dede empletscontent_batch_up2.htm   找到下面代码:   <input class="np" type="radio" checked="checked" name="action" value="modddpic" /><br />   更正缩图错误<br />   <input class="np" type="radio" name="action" value="delerrdata" /><br />   清空错误的文档数据</td>   修改成:   <input class="np" type="radio" checked="checked" name="action" value="modddpic" /><br />   更正缩图错误<br />   <input class="np" type="radio" name="action" value="delerrdata" /><br />   清空错误的文档数据<br />   <input class="np" type="radio" name="action" value="delerrpic" /><br />   清空错误的图片</td>   dedecontent_batchup_action2.php   在最后一个大括号后增加   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();   }   就可以了,系统没有使用多线程处理的功能,当遗留图片较多时需要较长时间的等待,程序不删除缩略图和uploads/allimg目录下的index.html,如果uploads/allimg文件夹下有多余图片请修改程序后再用。希望对各位有所帮助。
    
    关于我们 | 付款方式 | 建站知识 | 增值服务 | 网站模板
    Copyright © 2003-2016
    时间:9:00-21:00 (节假日不休)
    版权所有:巨人网络(扬州)科技有限公司
    总部地址:江苏省信息产业基地11号楼四层
    《增值电信业务经营许可证》 苏B2-20120278
    X

    截屏,微信识别二维码

    微信号:veteran88

    (点击微信号复制,添加好友)

     打开微信

    微信号已复制,请打开微信添加咨询详情!