最新更新 sitemap 网站制作设计本站搜索
网页设计
国外网站 韩国网站 个人主页 手提袋设计 CSS 网页特效 平面设计 网站设计 Flash CMS技巧 服装网站 php教程 photoshop 画册 服务器选用 数据库 Office
虚拟主机 域名注册 云主机 网页设计 客服QQ:8208442
当前位置:首页 > 网站综合 > CMS系统技巧

CMS技巧:删除Dedecms中遗留的多余图片

日期:07-10    来源:中国设计秀    作者:cnwebshow.com

 liE中国设计秀

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

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

dedetempletscontent_batch_up2.htmliE中国设计秀

找到下面代码:liE中国设计秀

<input class="np" type="radio" checked="checked" name="action" value="modddpic" /><br />liE中国设计秀
更正缩图错误<br />liE中国设计秀
<input class="np" type="radio" name="action" value="delerrdata" /><br />liE中国设计秀
清空错误的文档数据</td>liE中国设计秀

修改成:liE中国设计秀

<input class="np" type="radio" checked="checked" name="action" value="modddpic" /><br />liE中国设计秀
更正缩图错误<br />liE中国设计秀
<input class="np" type="radio" name="action" value="delerrdata" /><br />liE中国设计秀
清空错误的文档数据<br />liE中国设计秀
<input class="np" type="radio" name="action" value="delerrpic" /><br />liE中国设计秀
清空错误的图片</td>liE中国设计秀

 liE中国设计秀

dedecontent_batchup_action2.phpliE中国设计秀

在最后一个大括号后增加liE中国设计秀

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

操作演示如下:liE中国设计秀

 liE中国设计秀

 liE中国设计秀

操作前文件夹的图片liE中国设计秀

 liE中国设计秀

liE中国设计秀
操作后文件夹的图片liE中国设计秀

 liE中国设计秀

就可以了,系统没有使用多线程处理的功能,当遗留图片较多时需要较长时间的等待,程序不删除缩略图和uploads/allimg目录下的index.html,如果uploads/allimg文件夹下有多余图片请修改程序后再用,这里贴出代码也是对DEDECMS产品的感谢。liE中国设计秀

本文引用地址:/site/article_63983.html
网站地图 | 关于我们 | 联系我们 | 网站建设 | 广告服务 | 版权声明 | 免责声明