include/inc/inc_fun_funAdmin.phpinclude/inc/inc_fun_funString.phpinclude/inc/inc_stat.phpdede/inc/inc_archives_functions.phpdede/album_add.phpdede/album_edit.phpinclude/dialog/select_soft_post.php查找所有 INSERT INTO dede_uploads 語句,在字段列表中添加 arcid,值綁定 $arcID:
// 修改前
INSERT INTO dede_uploads(title,url,mediatype,width,height,playtime,filesize,uptime,mid)
// 修改後
INSERT INTO dede_uploads(arcid,title,url,mediatype,width,height,playtime,filesize,uptime,mid)
VALUES('$arcID', ...)
查找 $arcID = GetIndexKey,確保其執行位置在所有 INSERT INTO dede_uploads 之前,最好移至代碼最前端。
inc/inc_batchup.php 第 155 行後添加$dsql->SetQuery("Select * from `dede_uploads` where arcid='$aid'");
$dsql->Execute();
while($row = $dsql->GetObject()) {
$file = $row->url;
@unlink("..".$file);
}
$dsql->ExecuteNoneQuery("Delete From `dede_uploads` where arcid='$aid'");
將文檔 ID(arcid)寫入上傳表 dede_uploads,刪除文檔時通過 arcid 關聯查找並物理刪除文件,最後清理數據庫記錄。關鍵在於「uploads 表必須先存入 arcid 關聯數據」。
待解決:分類信息模型刪除附件失敗,期待社區高手補全方案。