原理描述:

在原有织梦后台菜单中增加"清理冗余图片按钮",实现清理冗余图片的功能.

操作步骤:

1. 打开后台dede\sys_sql_query.php代码

在该文件中搜索如下代码:
//修复全部表
else if($dopost=="repairAll")
{
    $dsql->SetQuery("Show Tables");
    $dsql->Execute('t');
    while($row = $dsql->GetArray('t',MYSQL_BOTH))
    {
        $rs = $dsql->ExecuteNoneQuery("REPAIR TABLE `{$row[0]}` ");
        if($rs) 
        {
            echo "修复表: {$row[0]} ok!<br />\r\n";
        } else {
            echo "修复表: {$row[0]} 失败! 原因是: ".$dsql->GetError()."<br />\r\n";
        }
    }
    exit();
}
在该分支后补充如下代码:
//清理冗余图片
else if($dopost=="delerrpic")
{
    ini_set('max_execution_time',1800);//单位秒
    ini_set('max_input_time',1800);//单位秒
    //echo ini_get('max_execution_time')."\n";
    $file_a=array();
    $err_img_cnt = 0;
    function rFile($p){
      global $file_a;
      global $dsql;
      global $err_img_cnt;
      $handle=opendir($p);
      $dir_a=array();
      while ($file = readdir($handle)) {
       if($file!="." && $file!=".."){
        $tmp=$p."/".$file;
        echo "<br />dir: ".$tmp;
        if(is_dir($tmp)){
         $dir_a[count($dir_a)]=$tmp;
        }elseif(is_file($tmp)){
            $file_a[count($file_a)]=$tmp;
    $v = $tmp;
$temp=substr($v,2);
$query = "select count(*) as cnt from dede_addonimages where imgurls like '%".$temp."%'";
//echo "query sql: ".$query."<br />";
$dsql->setquery($query);
$dsql->execute();
while($row = $dsql->getarray())
{
    //print_r($row);
if($row['cnt']==0){
if(strpos($v, 'del_') == FALSE && substr($v, -7, 3)!="-lp" && substr($v, -8, 4)!="_lit" && substr($v, -10, 5)!="index"){
if(file_exists($v)) {
unlink($v);
echo "<br />unlink: ".$v;
$err_img_cnt++;
}
    }
}
}
        }
       }
      }
      closedir($handle);
      foreach($dir_a as $v){
       rFile($v);
      }
    }
    rFile("../uploads/allimg/171003");//调用,要遍历的目录
    $dsql->Close();
    ShowMsg("成功删除冗余图片, 共: ".$err_img_cnt."张!","javascript:;");
    exit();
}

2. 修改模板htm文件, 打开dede\templets\sys_sql_query.htm

<div style="float:left">
<input type="Submit" name="Submit5" value="优化全部表" class="coolbg np" onClick="this.form.dopost.value='opimizeAll';" />
<br />
<input type="Submit" name="Submit6" value="修复全部表" class="coolbg np" onClick="this.form.dopost.value='repairAll';" style="margin-top:6px;" />
<br />
<input type="Submit" name="Submit7" value="清理冗余图片" class="coolbg np" onClick="this.form.dopost.value='delerrpic';" style="margin-top:6px;" />
</div>

3. 打开系统 -> SQL命令行工具, 使用"清除冗余图片",清理某个日期的目录(如1中红色代码路径所示)

参考: 丝魅吧

织梦cms/dedecms清理冗余废弃未引用图片方法相关推荐

  1. 织梦CMS(dedecms)栏目属性及系统封面模板、列表模板、文章模板区别和路径设置解答...

    问题一:(织梦"栏目管理"的"常规选项"中3个栏目属性分析?) 织梦CMS的栏目属性分成三种, -->最终列表栏目 -->频道封面 -->外部 ...

  2. 织梦CMS(dedecms)栏目属性及系统封面模板、列表模板、文章模板区别和路径设置解答

    问题一:(织梦"栏目管理"的"常规选项"中3个栏目属性分析?) 织梦CMS的栏目属性分成三种, -->最终列表栏目 -->频道封面 -->外部 ...

  3. php 织梦CMS(dedeCMS) 网站搭建--笔记

    在最近配置好php的wamp服务后就想先找点源码学习一下,从各方面了解到搜索"织梦源码"能有很多可以直接配置和使用的模板,于是就有了下面这个坑.. 后来接触到了wordpress( ...

  4. mytag.class.php,织梦CMS/dedecms织梦模板留言板调用{dede:}标签的头部尾部的方法

    织梦模板网站留言板调用网站的head.htm,footer.htm的方法二, 好多人都想在留言本guestbook.htm里实现dede的标签调用,问题是在plus里不支持dede标签的应用. 现在有 ...

  5. 织梦(DEDECMS)首页调用相关投票的方法(自动更新)

    我使用的是 DEDECMS V5.3 方法一 此方法我没试过,但应该能行得通. dede投票模块在首页的调用 本文介绍dedecms投票模块在首页的调用方法,大家可以参考写出更符合自己需要的效果. 先 ...

  6. 织梦CMS首页调用分类信息栏目及列表方法

    不懂代码,搜索学习一晚上,都是说调用特定栏目分类信息列表的,用这个代码 {dede:arclistsg row='10' titlelen='24' orderby='pubdate' channel ...

  7. 织梦 PHP和帝国哪个好,织梦CMS(dedecms)和帝国CMS哪个好

    织梦CMS和帝国CMS都是很不错的建站程序,个人都曾经使用过,功能都非常的强大,如果非要说织梦CMS(dedecms)和帝国CMS哪个好的话,个人觉得织梦CMS的使用用户更多一些,使用起来也比较方便一 ...

  8. php不建议用织梦cms,你不得不知的织梦cms安全性设置常识 - DeDecms

    你不得不知的织梦cms安全性设置常识 用过织梦cms的朋友了,这里就不多说了,织梦cms相对来说还是比较简单易用的,至于织梦cms的安全性如何,是否存在漏洞,这个问题来讲是不可避免的,当然了,这里也不 ...

  9. 织梦插件织梦CMS百度收录查询及批量推送未收录插件

    织梦插件织梦CMS百度收录查询及批量推送未收录插件 织梦百度收录查询插件说明 1.支持gbk和utf8编码2种程序 2.支持分批查询收录情况,无畏大量文章数据 3.支持指定栏目查询收录情况 4.支持关 ...

最新文章

  1. php通过http请求发送数组
  2. Hashtable 中的键值修改问题
  3. 在Python中获取文件大小? [重复]
  4. SHELL脚本取系统当前年月日问题 (去0)
  5. 用形态学的方法实现图像的角点检测
  6. golang确保输入过滤
  7. 建模心法(1)——百战不殆是可能的吗?
  8. Qt5模型/视图结构-视图(View)
  9. propattr区别和用法,以多选框为例
  10. .NET架构小技巧(2)——访问修饰符正确姿势
  11. 单点登陆(SSO)组件的设计与实现一 【转】
  12. java 不存在就创建,java怎么实现判断文件是否存在,不存在就创建的方法
  13. 使用 ADO.NET 访问 Oracle 9i 存储过程
  14. sass函数:@function
  15. 11.盛水最多的容器
  16. 离散傅里叶变换终极推导
  17. 戴尔计算机更新程序,戴尔电脑怎么关闭自动更新系统
  18. Excel学习笔记:P1-Excel入门
  19. java 音频播放器_JAVA音频播放器问题
  20. 微信小程序总结(阶段第一次总结)

热门文章

  1. python成功将PDF文件转为图片,一次成功,不再踩坑!
  2. 机器学习--分类算法中单标签与多标签的问题
  3. 配置jndi服务,javax.naming.NamingException的四种情况
  4. 联想小新2018 拆机换屏幕
  5. 各种小知识点(笔记本)
  6. Google 浏览器Chrome安全性能引发魔道之争
  7. 中国国产新型航天服穿着舒服每套1.6亿元
  8. Git 克隆 项目的三种方式
  9. 以视频搜视频时代来了!神目发布视频拷贝搜索引擎
  10. 计算机网络-谢希仁版