多多色-多人伦交性欧美在线观看-多人伦精品一区二区三区视频-多色视频-免费黄色视屏网站-免费黄色在线

國內最全IT社區平臺 聯系我們 | 收藏本站
阿里云優惠2
您當前位置:首頁 > php開源 > DedeCMS > Dedecms刪除文檔同時刪除圖片及附件的方法

Dedecms刪除文檔同時刪除圖片及附件的方法

來源:程序員人生   發布時間:2013-12-22 03:55:03 閱讀次數:3394次

  dede55前臺會員發布的信息在刪除時總是不能刪除附件,在這里以普通文章圖片附件為例跟大家交流一下。

  dede上傳的附件信息統統存在uploads表里,而這些附件怎樣才能跟其母信息相關聯?關鍵是uploads表里的arcid,也就是母信息的id號。dede在刪除母信息時也是通過arcid來刪除其附件信息。而前臺會員上傳的附件信息在保存到uploads表里時arcid默認為0,所以在刪除母信息時附件肯定刪除不了。

  例如:添加一條記錄,他的id號為1(以arctiny表的id為準 ),信息內容中有5張圖片,在保存時這5張圖片信息將存為5條uploads記錄,并且這5條記錄的arcid都為1(dede默認為0)。所以只要我們在上傳附件信息時將其母信息的id號同時保存到uploads表里就可以了。

  dede后臺管理員上傳附件時用到兩個函數 AddMyAddon()和ClearMyAddon(),AddMyAddon是用來將上傳的附件信息存到緩存文件里,在保存母信息時用緩存文件內容替換uploads表里的附件信息記錄,等一切都保存完后ClearMyAddon清除緩存。在這里我們移花接木將這兩個函數用在前臺用戶上。

  第一步:打開member/memberlogin.class.php,

  在第3行添加:session_start();//主要是為了給每個用戶建立隨機id號

  在第84行添加 AddMyAddon函數和ClearMyAddon函數,防止拷貝錯誤也可以直接打開include/userlogin.class.php文件在79行找到這兩個函數:

/*****************************************
發布文檔臨時附件信息緩存、發文檔前先清空附件信息
發布文檔時涉及的附件保存到緩存里,完成后把它與文檔關連
******************************************/
function AddMyAddon($fid, $filename)
{
$cacheFile = DEDEDATA.'/cache/addon-2'.session_id().'.inc';
if(!file_exists($cacheFile))
{
$fp = fopen($cacheFile, 'w');
fwrite($fp, '<'.'?php'."");
fwrite($fp, "$myaddons = array();");
fwrite($fp, "$maNum = 0;");
fclose($fp);
} //liehuo.net
include($cacheFile);
$fp = fopen($cacheFile, 'a');
$arrPos = $maNum;
$maNum++;
fwrite($fp, "$myaddons[$maNum] = array('$fid', '$filename');");
fwrite($fp, "$maNum = $maNum;");
fclose($fp);
}
//清理附件,如果關連的文檔ID,先把上一批附件傳給這個文檔ID
function ClearMyAddon($aid=0, $title='')
{
global $dsql;
$cacheFile = DEDEDATA.'/cache/addon-2'.session_id().'.inc';
$_SESSION['bigfile_info'] = array();
$_SESSION['file_info'] = array();
if(!file_exists($cacheFile))
{
return ;
}
//把附件與文檔關連
if(!empty($aid))
{
include($cacheFile);
foreach($myaddons as $addons)
{
if(!empty($title)) {
$dsql->ExecuteNoneQuery("Update `dede_uploads` set

arcid='$aid',title='$title' where aid='{$addons[0]}'");
}
else {
$dsql->ExecuteNoneQuery("Update `dede_uploads` set

arcid='$aid' where aid='{$addons[0]}' ");
}
}
}
@unlink($cacheFile);
}

第二部:打開member/inc/inc_archives_functions.php
在144行$dsql->ExecuteNoneQuery($inquery);下面添加:

$fid = $dsql->GetLastID();
AddMyAddon($fid, $filename);

第三步:打開member/article_add.php(編輯的話就打開article_edit.php,大同小異),,

大概在16行添加:

ClearMyAddon();//添加-->先清除一下緩存

$cInfos = $dsql->GetOne("Select * From `dede_channeltype` where id='$channelid'; ");

在大概83行
//生成文檔ID
$arcID = GetIndexKey($arcrank,$typeid,$sortrank,$channelid,$senddate,$mid);
if(empty($arcID))
{
ShowMsg("無法獲得主鍵,因此無法進行后續操作!","-1");
exit();
}

ClearMyAddon();//添加-->保存后清除緩存。

ok了!這樣添加信息后縮略圖和信息內容中的圖片都可以刪除了

生活不易,碼農辛苦
如果您覺得本網站對您的學習有所幫助,可以手機掃描二維碼進行捐贈
程序員人生
------分隔線----------------------------
分享到:
------分隔線----------------------------
關閉
程序員人生
主站蜘蛛池模板: 一区二区三区四区无限乱码在线观看 | 亚洲欧美日韩不卡一区二区三区 | 亚洲小说春色综合另类小说 | 东方伊人免费在线观看 | 国产精品video| 欧美一区视频在线 | www天堂在线 | 欧美性猛交xxxx免费看手交 | 午夜影院美女 | 波多野结衣在线观看一区二区三区 | 国产高清中文字幕 | 456免费视频 | 一级特黄色大片 | 国产偷v国产偷v亚洲高清 | 国产一区亚洲一区 | 99精品国产美女福到在线不卡 | 亚洲人成亚洲人成在线观看 | 一本久道久久综合婷婷五 | 国产精品第一页在线观看 | 四虎在线永久精品高清 | 欧美成人性videos | 色综合久久综合欧美综合图片 | 亚洲爱爱视频 | 欧美日韩乱 | 国产精品嫩草影院99av视频 | 伊人久久精品成人网 | 久久嫩草影院网站 | 国产未成女年一区二区 | 精品国产乱码久久久久久一区二区 | 日本三级黄视频 | 国产精品一区不卡 | 国产一区二区久久 | 最新亚洲国产有精品 | 亚洲美女色 | 亚洲国产精品综合欧美 | 欧美a在线播放 | 欧美x性| 亚洲日韩中文字幕天堂不卡 | 最近中文字幕视频完整 | 美国xxxx69| 亚洲不卡网|