婷婷综合国产,91蜜桃婷婷狠狠久久综合9色 ,九九九九九精品,国产综合av

主頁 > 網(wǎng)站建設(shè) > 建站知識(shí) > Dedecms刪除文檔同時(shí)刪除圖片及附件的方法

Dedecms刪除文檔同時(shí)刪除圖片及附件的方法

POST TIME:2021-05-23 01:54

織夢(mèng)前臺(tái)會(huì)員發(fā)布的信息在刪除時(shí)總是不能刪除附件,在這里以普通文章圖片附件為例跟大家交流一下。
 
  dede上傳的附件信息統(tǒng)統(tǒng)存在uploads表里,而這些附件怎樣才能跟其母信息相關(guān)聯(lián)?關(guān)鍵是uploads表里的arcid,也就是母信息的id號(hào)。dede在刪除母信息時(shí)也是通過arcid來刪除其附件信息。而前臺(tái)會(huì)員上傳的附件信息在保存到uploads表里時(shí)arcid默認(rèn)為0,所以在刪除母信息時(shí)附件肯定刪除不了。
 
  例如:添加一條記錄,他的id號(hào)為1(以arctiny表的id為準(zhǔn) ),信息內(nèi)容中有5張圖片,在保存時(shí)這5張圖片信息將存為5條uploads記錄,并且這5條記錄的arcid都為1(dede默認(rèn)為0)。所以只要我們?cè)谏蟼鞲郊畔r(shí)將其母信息的id號(hào)同時(shí)保存到uploads表里就可以了。
 
  dede后臺(tái)管理員上傳附件時(shí)用到兩個(gè)函數(shù) AddMyAddon()和ClearMyAddon(),AddMyAddon是用來將上傳的附件信息存到緩存文件里,在保存母信息時(shí)用緩存文件內(nèi)容替換uploads表里的附件信息記錄,等一切都保存完后ClearMyAddon清除緩存。在這里我們移花接木將這兩個(gè)函數(shù)用在前臺(tái)用戶上。
 
  第一步:打開member/memberlogin.class.php,
 
  在第3行添加:session_start();//主要是為了給每個(gè)用戶建立隨機(jī)id號(hào)
 
  在第84行添加 AddMyAddon函數(shù)和ClearMyAddon函數(shù),防止拷貝錯(cuò)誤也可以直接打開include/userlogin.class.php文件在79行找到這兩個(gè)函數(shù):
 
Copy to ClipboardLiehuo.Net Codes引用的內(nèi)容:[www.dede58.com]
/***************************************** 
發(fā)布文檔臨時(shí)附件信息緩存、發(fā)文檔前先清空附件信息 
發(fā)布文檔時(shí)涉及的附件保存到緩存里,完成后把它與文檔關(guān)連 
******************************************/ 
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); 
//清理附件,如果關(guān)連的文檔ID,先把上一批附件傳給這個(gè)文檔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 ; 
//把附件與文檔關(guān)連 
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);下面添加:
 
Copy to ClipboardLiehuo.Net Codes引用的內(nèi)容:[www.dede58.com]
$fid = $dsql->GetLastID(); 
AddMyAddon($fid, $filename);
第三步:打開member/article_add.php(編輯的話就打開article_edit.php,大同小異),, 
 
大概在16行添加:
 
Copy to ClipboardLiehuo.Net Codes引用的內(nèi)容:[www.dede58.com]
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("無法獲得主鍵,因此無法進(jìn)行后續(xù)操作!","-1"); 
exit(); 
}
 
ClearMyAddon();//添加-->保存后清除緩存。
 
ok了!這樣添加信息后縮略圖和信息內(nèi)容中的圖片都可以刪除了


收縮
  • 微信客服
  • 微信二維碼
  • 電話咨詢

  • 400-1100-266
主站蜘蛛池模板: 拜泉县| 当阳市| 仙桃市| 且末县| 轮台县| 罗甸县| 安化县| 秭归县| 永川市| 虎林市| 凌源市| 游戏| 花莲县| 化州市| 平陆县| 菏泽市| 梨树县| 驻马店市| 西乌珠穆沁旗| 周至县| 六枝特区| 毕节市| 铅山县| 贵阳市| 章丘市| 普格县| 临城县| 惠水县| 太和县| 汾西县| 陵川县| 乐东| 江陵县| 吴川市| 平和县| 西安市| 纳雍县| 阳谷县| 闵行区| 太谷县| 英超|