DedeCms删除系统遗留图片

来源:asp之家 时间:2009-02-14 08:07:00 

网站做好了,但由于都是采集的数据,其中难免有些不需要或者过时的内容,但在删除图片是DEDE并不能帮我们删除其中的附带的图片,导致遗留的图片在系统中越来越多,也用不到,变成了系统垃圾,对于空间不足的朋友更是麻烦,如果数据量较小时可以删除手动删除,但当数据量大时就有些力不从心了。

我不懂PHP编程,但有别的语言的基础,拼拼凑凑写了一个可以用的批量处理遗留图片的代码。

dede\templets\content_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>

dede\content_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文件夹下有多余图片请修改程序后再用,这里贴出代码也是对DEDECMS产品的感谢。

标签:图片,系统,删除, dedecms,网站
0
投稿

猜你喜欢

  • 谈用Win2003系统配置路由服务

    2008-12-23 15:59:00
  • linux安装RocketMQ实例步骤

    2021-12-11 04:36:36
  • google取消补充材料标记

    2007-08-08 16:54:00
  • Windows缓存写入失败故障分析

    2007-04-23 15:11:00
  • 走进花儿世界:丰富多彩的儿童网络世界

    2009-10-12 13:24:00
  • 百度收录失调势必引发草根站长骚动

    2007-11-18 14:05:00
  • 写软文一定别忘了写给你的直接客户群

    2009-03-16 21:37:00
  • 利用第一个广告单元有效提高单价(CPC)

    2009-01-06 17:27:00
  • Session丢失的解决办法小结

    2022-06-22 22:44:09
  • Linux中移除(删除)符号链接的命令

    2023-02-13 17:25:05
  • 徐静蕾转战B2C联合VANCL卖配饰

    2009-11-13 16:43:00
  • 五个小窍门让你创作出有利于SEO的好文章

    2009-01-04 10:39:00
  • 提高WordPress访问速度与性能的技巧总结

    2010-03-17 09:12:00
  • VMware安装CentOS 8.1(CentOS 8系列可参考)的图文详细教程

    2021-04-11 23:47:05
  • 一个IP建多个Web站点——TCP端口法

    2007-08-24 11:36:00
  • 网管员需要注意十点安全技巧

    2009-09-16 20:29:00
  • 网络化软件添新丁:新浪UC顺势也推出网页版

    2009-09-29 09:28:00
  • 一句话式知识 网站吸引链接的三十招技巧

    2009-01-20 13:50:00
  • Linux创建进程达到65535的方法

    2023-10-10 09:34:11
  • Linux环境ActiveMQ部署方法详解

    2023-03-18 22:52:10
  • asp之家 网站运营 m.aspxhome.com