久久久久av_欧美日韩一区二区在线_国产精品三区四区_日韩中字在线
Discuz! 官方交流社區(qū)
標題:
如何獲取discuz帖子的所有附件信息?
[打印本頁]
作者:
qzuser1212
時間:
2023-5-20 15:01
標題:
如何獲取discuz帖子的所有附件信息?
(, 下載次數: 58)
上傳
點擊文件名下載附件
(, 下載次數: 12)
上傳
點擊文件名下載附件
最近在做discuz的api插件,用來對接小程序和app。目前有個問題,就是插入帖子的圖片能顯示,但是沒有插入的附件無法顯示,獲取附件的代碼如下,請教下怎么才能獲取到發(fā)帖時所有上傳的圖片附件(包括沒有插入帖子的)
$attachments = array();
if($attachtags) {
$attachs = C::t('forum_attachment_n')->fetch_all_by_id('tid:'.$post['tid'], 'aid', array_keys($attachtags));
$attachs = $attachs ? $attachs : array();
foreach($attachs as $attach) {
if($attach['isimage']) {
$attach['url'] = $_G['siteurl'] . 'data/attachment/forum/' . $attach['attachment'];
$attachments[$attach['aid']] = $attach;
}
}
}
復制代碼
作者:
qzuser1212
時間:
2023-5-20 15:41
已解決 ,處理帖子信息的問題,我一直在找獲取附件的問題。
// 獲取帖子內容
$post = C::t('forum_post')->fetch_threadpost_by_tid_invisible($tid);
// 獲取所有附件的信息
$attachments = array();
$used_attachments = array();
$attachs = C::t('forum_attachment_n')->fetch_all_by_id('tid:'.$post['tid'], 'tid', $post['tid']);
$attachs = $attachs ? $attachs : array();
foreach($attachs as $attach) {
if($attach['isimage']) {
$attach['url'] = $_G['siteurl'] . 'data/attachment/forum/' . $attach['attachment'];
$attachments[$attach['aid']] = $attach;
}
}
// 處理帖子內容
$post['message'] = preg_replace_callback("/\[attach\](\d+)\[\/attach\]/i", function($matches) use ($attachments, &$used_attachments) {
$aid = $matches[1];
if(isset($attachments[$aid])) {
// 記錄已經被引用的附件
$used_attachments[$aid] = $aid;
return '<img src="'.$attachments[$aid]['url'].'" />'; // 你需要根據你的情況來修改這里的代碼,使其返回正確的圖片鏈接
} else {
return '';
}
}, $post['message']);
// 附加未被引用的附件到帖子內容的末尾
foreach ($attachments as $aid => $attachment) {
if (!isset($used_attachments[$aid])) {
$post['message'] .= '<img src="'.$attachment['url'].'" />';
}
}
復制代碼
歡迎光臨 Discuz! 官方交流社區(qū) (http://www.9999xn.com/)
Powered by Discuz! W1.0