相關(guān)關(guān)鍵詞
關(guān)于我們
最新文章
- PHP中opcode緩存簡單用法分析
- thinkPHP控制器變量在模板中的顯示方法示例
- PHP move_uploaded_file() 函數(shù)(將上傳的文件移動到新位置)
- dirname(__FILE__)的含義和應(yīng)用說明
- thinkPHP5框架實(shí)現(xiàn)分頁查詢功能的方法示例
- PHP中單雙號與變量
- PHP獲得當(dāng)日零點(diǎn)時(shí)間戳的方法分析
- Laravel ORM對Model::find方法進(jìn)行緩存示例詳解
- PHP讀寫文件高并發(fā)處理操作實(shí)例詳解
- 【CLI】利用Curl下載文件實(shí)時(shí)進(jìn)度條顯示的實(shí)現(xiàn)
刪除Dedecms中遺留的多余圖片
網(wǎng)站做好了,但由于都是采集的數(shù)據(jù),其中難免有些不需要或者過時(shí)的內(nèi)容,但在刪除圖片是DEDE并不能幫我們刪除其中的附帶的圖片,導(dǎo)致遺留的圖片在系統(tǒng)中越來越多,也用不到,變成了系統(tǒng)垃圾,對于空間不足的朋友更是麻煩,如果數(shù)據(jù)量較小時(shí)可以刪除手動刪除,但當(dāng)數(shù)據(jù)量大時(shí)就有些力不從心了。
我不懂PHP編程,但有別的語言的基礎(chǔ),拼拼湊湊寫了一個(gè)可以用的批量處理遺留圖片的代碼。
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 />
清空錯誤的文檔數(shù)據(jù)</td>
修改成:
<input class="np" type="radio" checked="checked" name="action" value="modddpic" /><br />
更正縮圖錯誤<br />
<input class="np" type="radio" name="action" value="delerrdata" /><br />
清空錯誤的文檔數(shù)據(jù)<br />
<input class="np" type="radio" name="action" value="delerrpic" /><br />
清空錯誤的圖片</td>
dede\content_batchup_action2.php
在最后一個(gè)大括號后增加
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");//調(diào)用,要遍歷的目錄
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();
}
操作演示如下:
操作前文件夾的圖片
操作后文件夾的圖片
就可以了,系統(tǒng)沒有使用多線程處理的功能,當(dāng)遺留圖片較多時(shí)需要較長時(shí)間的等待,程序不刪除縮略圖和uploads/allimg目錄下的index.html,如果uploads/allimg文件夾下有多余圖片請修改程序后再用,這里貼出代碼也是對DEDECMS產(chǎn)品的感謝。