好湿?好紧?好多水好爽自慰,久久久噜久噜久久综合,成人做爰A片免费看黄冈,机机对机机30分钟无遮挡

主頁 > 網站建設 > 建站知識 > 批量刪除Dedecms遺留無用的圖片代碼

批量刪除Dedecms遺留無用的圖片代碼

POST TIME:2018-03-15 21:23

網站運營時間長了總會留下一些過時的沒用的內容,特別是采集的數據,其中難免有些不需要或者過時的內容,但在刪除文章時Dedecms并不能幫我們刪除其中的附帶的圖片,導致遺留的圖片在系統中越來越多,變成了系統垃圾,對于空間不足的朋友更是麻煩,如果數據量較小時可以刪除手動刪除,但當數據量大時就有些力不從心了。   下面是一個網友自己寫的一個可以用于批量刪除遺留圖片的代碼。   一、找到dede empletscontent_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>   dedecontent_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文件夾下有多余圖片請修改程序后再用。希望對各位有所幫助。


收縮
  • 微信客服
  • 微信二維碼
  • 電話咨詢

  • 400-1100-266