问题描述:
织梦的问题还是很多的,其中就有删除一篇文章的时候,可以删除掉数据库里面的所有信息及缩略图,但是文章正文里面的图片是删除不了的。所以服务器中就有很多图片是多余的。
1,找到后台路径中的
dede/templets/content_batch_up.htm
找到下面代码:
<input class="np" type="radio" checked="checked" name="action" value="modddpic" /><br />
更正缩图错误<br />
<input class="np" type="radio" name="action" value="delerrdata" /><br />
清空错误的文档数据
2,添加下面的代码:
<input class="np" type="radio" name="action" value="delerrpic" /><br />
清空错误的图片
3,找到
dede/content_batchup_action.php
4,在文件最后增加
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();
}