Dede怎么刪除文檔圖片

Dede怎么刪除文檔圖片

dede怎么刪除文檔圖片?

Dede刪除文檔同時刪除文章中的圖片,這個功能對于做圖片網站的朋友來說非常重要,特別是在刪除采集回來的文章時,會產生很多無用的圖片. 本程序不保證能夠100%的獲得Body中的圖片,但在我個人使用的這段時間,沒有發現問題。

??推薦學習:織夢cms

首先,在”/include”目錄下建立”extend.func.php”文件. 然后,將以下內容保存在”extend.func.php”文件中,一共三個函數:?

代碼如下:

//解析body數據,獲得所有圖片的絕對地址? function?GetPicsTruePath($body,$litpic)? {? $delfiles?=?array();//存儲圖片地址數據? if(!empty($litpic))? {? $litpicpath?=?GetTruePath();? $litpicpath?.=?$litpic;? $delfiles[]?=?$litpicpath;//縮略圖地址? }? preg_match_all("/src=["|'|S|s]([^?title="liehuo.net"?|/|>]*){0,}(([^>]*).(gif|jpg|png))/isU",$body,$tmpdata);? $picspath?=?array_unique($tmpdata[2]);//body中所有圖片的地址? foreach($picspath?as?$tmppath)? {? $path?=?GetTruePath();//獲得絕對路徑? $picpath?=?preg_replace("/[a-zA-z]+://[^?|/|s]*/",'',$tmppath);//去掉網址部分? $path?.=$picpath;? $delfiles[]?=?$path;//保存處理后的數據? }? return?$delfiles;? }? //獲得文章Body數據? function?GetArcBody($aid)? {? global?$dsql;? $query?=?"SELECT?[url=mailto:dede_addonarticle.body]dede_addonarticle.body[/url]?FROM?[url=mailto:%60dede_addonarticle]`dede_addonarticle[/url]`?WHERE?[url=mailto:dede_addonarticle.aid]dede_addonarticle.aid[/url]?=?'$aid'";? $row?=?$dsql->GetOne($query);? if(is_array($row))? return?$row;? else? return?false;? }? //寫入日志文件? function?WriteToDelFiles($msg)//刪除文章的時候會通過此函數記錄日志? {? if(empty($msg))?$savemsg="未獲得消息";? else?$savemsg?=?$msg;? $errorFile?=?dirname(__FILE__).'/../data/del_body_file.txt';//刪除記錄文件? $fp?=?@fopen($errorFile,?'a');? @fwrite($fp,"rn{$savemsg}");? @fclose($fp);? }

接下來打開”/dede/inc/inc_batchup.php”文件。?

1:在33行下方加入,也就是”$arcRow = $dsql->GetOne($arcQuery);”下方:?

$arcBodyRow = GetArcBody($aid);?

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

代碼如下:

//解析Body中的資源,并刪除? $willDelFiles?=?GetPicsTruePath($arcBodyRow['body'],$arcRow['litpic']);? $nowtime?=?time();? $executetime?=?MyDate('Y-m-d?H:i:s',$nowtime);//獲得執行時間? $msg?=?"rn文章標題:$arcRow[title]";? WriteToDelFiles($msg);? if(!empty($willDelFiles))? {? foreach($willDelFiles?as?$file)? {? if(file_exists($file)?&&?!is_dir($file))? {? if(unlink($file))?$msg?=?"rn位置:$filern結果:刪除成功!rn時間:$executetime";? else?$msg?=?"rn位置:$filern結果:刪除失敗!rn時間:$executetime";? }? else?$msg?=?"rn位置:$filern結果:文件不存!rn時間:$executetime";? WriteToDelFiles($msg);? }//END?foreach? }? else? {? $msg?=?"rn未在Body中解析到數據rnBody原始數據:$arcBodyRow[body]rn時間:$executetime";? WriteToDelFiles($msg);? }

至此,全部修改完成,刪除文章時,程序會分析Body中的圖片地址,然后刪除.并在/data/目錄下,產生日志記錄文件:del_body_file.txt。

? 版權聲明
THE END
喜歡就支持一下吧
點贊7 分享