程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> 網頁編程 >> PHP編程 >> PHP綜合 >> 批量刪除dedeCMS遺留無用的圖片代碼

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

編輯:PHP綜合

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

*
  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved