织梦cms/dedecms清理冗余废弃未引用图片方法
原理描述:
操作步骤:
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
<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清理冗余废弃未引用图片方法相关推荐
- 织梦CMS(dedecms)栏目属性及系统封面模板、列表模板、文章模板区别和路径设置解答...
问题一:(织梦"栏目管理"的"常规选项"中3个栏目属性分析?) 织梦CMS的栏目属性分成三种, -->最终列表栏目 -->频道封面 -->外部 ...
- 织梦CMS(dedecms)栏目属性及系统封面模板、列表模板、文章模板区别和路径设置解答
问题一:(织梦"栏目管理"的"常规选项"中3个栏目属性分析?) 织梦CMS的栏目属性分成三种, -->最终列表栏目 -->频道封面 -->外部 ...
- php 织梦CMS(dedeCMS) 网站搭建--笔记
在最近配置好php的wamp服务后就想先找点源码学习一下,从各方面了解到搜索"织梦源码"能有很多可以直接配置和使用的模板,于是就有了下面这个坑.. 后来接触到了wordpress( ...
- mytag.class.php,织梦CMS/dedecms织梦模板留言板调用{dede:}标签的头部尾部的方法
织梦模板网站留言板调用网站的head.htm,footer.htm的方法二, 好多人都想在留言本guestbook.htm里实现dede的标签调用,问题是在plus里不支持dede标签的应用. 现在有 ...
- 织梦(DEDECMS)首页调用相关投票的方法(自动更新)
我使用的是 DEDECMS V5.3 方法一 此方法我没试过,但应该能行得通. dede投票模块在首页的调用 本文介绍dedecms投票模块在首页的调用方法,大家可以参考写出更符合自己需要的效果. 先 ...
- 织梦CMS首页调用分类信息栏目及列表方法
不懂代码,搜索学习一晚上,都是说调用特定栏目分类信息列表的,用这个代码 {dede:arclistsg row='10' titlelen='24' orderby='pubdate' channel ...
- 织梦 PHP和帝国哪个好,织梦CMS(dedecms)和帝国CMS哪个好
织梦CMS和帝国CMS都是很不错的建站程序,个人都曾经使用过,功能都非常的强大,如果非要说织梦CMS(dedecms)和帝国CMS哪个好的话,个人觉得织梦CMS的使用用户更多一些,使用起来也比较方便一 ...
- php不建议用织梦cms,你不得不知的织梦cms安全性设置常识 - DeDecms
你不得不知的织梦cms安全性设置常识 用过织梦cms的朋友了,这里就不多说了,织梦cms相对来说还是比较简单易用的,至于织梦cms的安全性如何,是否存在漏洞,这个问题来讲是不可避免的,当然了,这里也不 ...
- 织梦插件织梦CMS百度收录查询及批量推送未收录插件
织梦插件织梦CMS百度收录查询及批量推送未收录插件 织梦百度收录查询插件说明 1.支持gbk和utf8编码2种程序 2.支持分批查询收录情况,无畏大量文章数据 3.支持指定栏目查询收录情况 4.支持关 ...
最新文章
- php通过http请求发送数组
- Hashtable 中的键值修改问题
- 在Python中获取文件大小? [重复]
- SHELL脚本取系统当前年月日问题 (去0)
- 用形态学的方法实现图像的角点检测
- golang确保输入过滤
- 建模心法(1)——百战不殆是可能的吗?
- Qt5模型/视图结构-视图(View)
- propattr区别和用法,以多选框为例
- .NET架构小技巧(2)——访问修饰符正确姿势
- 单点登陆(SSO)组件的设计与实现一 【转】
- java 不存在就创建,java怎么实现判断文件是否存在,不存在就创建的方法
- 使用 ADO.NET 访问 Oracle 9i 存储过程
- sass函数:@function
- 11.盛水最多的容器
- 离散傅里叶变换终极推导
- 戴尔计算机更新程序,戴尔电脑怎么关闭自动更新系统
- Excel学习笔记:P1-Excel入门
- java 音频播放器_JAVA音频播放器问题
- 微信小程序总结(阶段第一次总结)