dedecms刪除文章的同時刪除圖片附件方法

來源:互聯網
上載者:User

下面這個技巧就是為了實現這個功能,但是不保證100%有效:

首先,在"/include"目錄下建立"extend.func.php"檔案. 然後,將以下內容儲存在"extend.func.php"檔案中,一共三個函數

接下來開啟"/dede/inc/inc_batchup.php"檔案。

1:在33行下方加入,也就是

 代碼如下 複製代碼
"$arcRow = $dsql->GetOne($arcQuery);"

下方:

 代碼如下 複製代碼

$arcBodyRow = GetArcBody($aid);

2:在138行下方加入,也就是"return true;"上方:


其它方法參考


開啟dede/inc/inc_batchup.php

找到”//刪除資料庫的內容”
在這前面加上

 代碼如下 複製代碼

//刪除縮圖
if($arcRow['litpic']!=”"){
$dsql->ExecuteNoneQuery(“Delete From #@__uploads where url=’$arcRow[litpic]‘”);
$truedir = GetTruePath($arcRow['siterefer'],$arcRow['sitepath']);
$litpicfile = $truedir.$arcRow['litpic'];
@unlink($litpicfile);
}
//刪除大圖
$arcbodyQuery = “Select * from “.$arcRow['addtable'].” where aid=’$aid’”;
$arcbodyRow = $dsql->GetOne($arcbodyQuery);
$imgsrcarray=GetImageSrc($arcbodyRow['body']);
foreach ($imgsrcarray as $v) {
if((trim($v)!=”")&&(!eregi(“^http://”,$v))){
$dsql->ExecuteNoneQuery(“Delete From #@__uploads where url=’$v’”);
$picfile = $truedir.$v;
@unlink($picfile);
}
}

//刪除資料庫的內容

第二處:
找到

 代碼如下 複製代碼
Select #@__archives.ID,#@__archives.title,#@__archives.typeid
改為:
Select #@__archives.ID,#@__archives.title,#@__archives.typeid,#@__archives.litpic

第三處:
在檔案最後加上一函數

 代碼如下 複製代碼

//獲得內容中的映像地址

function GetImageSrc($body){
if( !isset($body)) return ”;
else{
preg_match_all (“/<(img|IMG)(.*)(src|SRC)=["|'|]{0,}([h|/].*(jpg|JPG|gif|GIF))["|'|s]{0,}/isU”,$body,$out);
return $out[4];
}
}

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.