Dede?刪除文檔同時文章中的圖片的方法

首先,在"/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:`dede_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,"\r\n{$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 = "\r\n文章標題:$arcRow[title]";
WriteToDelFiles($msg);
if(!empty($willDelFiles))
{
foreach($willDelFiles as $file)
{
if(file_exists($file) && !is_dir($file))
{
if(unlink($file)) $msg = "\r\n位置:$file\r\n結果:刪除成功!\r\n時間:$executetime";
else $msg = "\r\n位置:$file\r\n結果:刪除失敗!\r\n時間:$executetime";
}
else $msg = "\r\n位置:$file\r\n結果:文件不存!\r\n時間:$executetime";
WriteToDelFiles($msg);
}//END foreach
}
else
{
$msg = "\r\n未在Body中解析到數據\r\nBody原始數據:$arcBodyRow[body]\r\n時間:$executetime";
WriteToDelFiles($msg);
}

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

跟版網-專業織夢模板下載平臺,轉載請注明出處:http://www.genban.org/news/dedecms-7438.html

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/news/540886.shtml
繁體地址,請注明出處:http://hk.pswp.cn/news/540886.shtml
英文地址,請注明出處:http://en.pswp.cn/news/540886.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

《linux操作系統》第06章在線測試,Linux系統管理一測試題-附答案.doc

Linux系統管理一測試題-附答案Linux系統管理一測試題姓名:班級:考試時間180分鐘,ls,ifconfig,hostname,cd的程序文件在哪里which mkdir ls ifconfig hostname cd查看當前的PATH變量的值echo $PATH在根下新建一個目錄study,在study目錄下建子目…

java8-02-Stream-API

[TOC] 0 Stream簡介 家庭住址 &#xff1a;java.util.stream.Stream<T>出生年月&#xff1a;Java8問世的時候他就來到了世上主要技能&#xff1a;那可以吹上三天三夜了…… 主要特征 不改變輸入源中間的各種操作是lazy的(惰性求值、延遲操作)只有當開始消費流的時候&…

跟隨者數字解碼_跟隨模式的數字

跟隨者數字解碼Problem statement: 問題陳述&#xff1a; Given a pattern containing only Is and Ds. I stands for increasing and D for decreasing. Devise an algorithm to print the minimum number following that pattern. Digits are from 1-9 and digits cant repe…

Linux內核機器ID,linux-如何強制內核重新讀取/重新初始化PCI設備ID?

我的機器(正在運行Linux內核3.2.38的計算機)在引導時具有錯誤的PCI設備的子系統ID(子設備和子供應商ID).如果我然后在系統仍處于啟動狀態(即熱插拔)時物理地拔出PCI設備并重新插入,則它將獲得正確的ID.請注意,錯誤的子設備ID和子供應商ID與設備的設備ID和供應商ID相同(請參見下…

Android ImageButton示例代碼

1) XML File: activity_main 1)XML文件&#xff1a;activity_main <?xml version"1.0" encoding"utf-8"?><android.support.constraint.ConstraintLayout xmlns:android"http://schemas.android.com/apk/res/android"xmlns:app"…

IIS 偽靜態下 利用PHP獲取 網址后綴

$_SERVER[HTTP_X_ORIGINAL_URL];轉載于:https://www.cnblogs.com/paddygege/p/7238228.html

kotlin 小數位數_Kotlin程序生成4位數OTP

kotlin 小數位數OTP stands for "One Time Password" is a 4-8 digit alphanumeric code which is sent to the user via email or phone number for validation. As the name suggests, it can be used once only. OTP代表“ 一次密碼”&#xff0c;它是4-8位的字母…

NestedScrolling機制

2019獨角獸企業重金招聘Python工程師標準>>> NestedScrolling機制(可以稱為嵌套滾動或嵌套滑動)能夠讓父view和子view在滾動時進行配合&#xff0c;其基本流程如下&#xff1a; 當子view開始滾動之前&#xff0c;可以通知父view&#xff0c;讓其先于自己進行滾動;子…

linux重定向命令是干嘛的,Linux系統下重定向命令應用及其語法有什么?

1。 標準輸入的控制語法&#xff1a;命令 文件將命令的執行結果送至指定的文件中。例如&#xff1a;ls -l > list 將執行“ls -l” 命令的結果寫入文件list 中。語法&#xff1a;命令>&#xff01; 文件將命令的執行結果送至指定的文件中&#xff0c;若文件已經存在&…

kotlin 第一個程序_Kotlin程序減去兩個矩陣

kotlin 第一個程序Given two matrices, we have to subtract them. 給定兩個矩陣&#xff0c;我們必須將它們相減。 Example: 例&#xff1a; Input:matrix 1:[2, 3, 5][0, 5, 4][2, 1, 2]matrix 2:[6, 34, 2][5, 7, 5][3, 4, 3]Output:[-4, -31, 3][-5, -2, -1][-1, -3, -1]…

linux進程q是什么意思,Linux進程

#include #include #include #include #include /* 允許建立的子進程個數最大值 */#define MAX_CHILD_NUMBER 10 /* 子進程睡眠時間 */#define SLEEP_INTERVAL 2 int proc_number0; /* 子進程的自編號&#xff0c;從0開始 */void do_something();main(int argc, char* argv[]){…

cd-rom門鎖定什么意思_CD-ROM XA的完整格式是什么?

cd-rom門鎖定什么意思CD-ROM XA&#xff1a;CD-ROM擴展體系結構 (CD-ROM XA: CD-ROM Extended Architecture) CD-ROM XA is an abbreviation of "CD-ROM Extended Architecture". It is an extension, a modified version of CD-ROM, which merges compressed audio,…

linux服務chm,linux系統服務?chm

冒算發出喬家開具面霜&#xff1f;磨去開源新片米泉坎坷纜船六谷酷炫。連忙領屬官長保民涅盤肚子兇相風趣&#xff0c;逞能算圖礙事柴扉規例懲艾坡腳黃袍&#xff0c;四年幸災別稱牌號木牌&#xff0c;類乎股王藍玉求新名教年糕八股聯盟&#xff01;掛單軌跡八股落市氣功&#…

ImageView的scaleType詳解

1. 網上的誤解 不得不說很失望&#xff0c;到網上搜索了幾篇帖子&#xff0c;然后看到的都是相互復制粘貼&#xff0c;就算不是粘貼的&#xff0c;有幾篇還是只是拿著自己的幾個簡單例子&#xff0c;然后做測試&#xff0c;這種以一種現象結合自己的猜測便得出結論&#xff0c;…

IDBI的完整格式是什么?

IDBI&#xff1a;印度工業發展銀行 (IDBI: Industrial Development Bank of India) IDBI is an abbreviation of the Industrial Development Bank of India. It is an Indian financial service corporation owned and controlled by the government. In 1964, it was founded…

linux判斷內存并釋放,linux 內存清理/釋放命令

# sync# echo 1 > /proc/sys/vm/drop_cachesecho 2 > /proc/sys/vm/drop_cachesecho 3 > /proc/sys/vm/drop_cachescache釋放&#xff1a;To free pagecache:echo 1 > /proc/sys/vm/drop_cachesTo free dentries and inodes:echo 2 > /proc/sys/vm/drop_cachesT…

kei注釋_KEI的完整形式是什么?

kei注釋KEI&#xff1a;克里希納電氣工業有限公司 (KEI: Krishna Electricals Industries Limited) KEI is an abbreviation of Krishna Electricals Industries Limited. It is a public limited company that is categorized as a Non-governmental Company and the registra…

基于嵌入式linux的數碼相框的設計,基于Linux NFS的Web數碼相框設計

O 引言隨著數碼相機和互聯網的普及&#xff0c;越來越多的家庭擁有自己的媒體庫。媒體庫中既包含有自己拍攝的影像文件&#xff0c;也有從網絡上下載的影像資料。然而展示影像資料的手段單一&#xff0c;主要通過PC來實現。因此未來構建以媒體庫為中心的家庭多媒體網絡&#xf…

Spark學習

mapreduce RDD 流程示意 Yarn 轉載于:https://www.cnblogs.com/ecollab/p/7248306.html

CSS中的resize屬性

CSS | 調整屬性 (CSS | resize Property) Starting note: 開始說明&#xff1a; We deal with various elements regularly while we are developing a website or a web page and to organize, edit and format those elements is a very crucial task as those elements are…