搜索
SR網頁設計工作室 - 購物網站/企業官網專業開發 Discuz 使用教程 Discuz X3 修改attach附件顯示真實路徑
byadmin 發表於 2014-2-17 21:16:09 , 13043人已閱讀 , 22人回應
筆者在承接某個專案的時候 , 遇到客戶有需要使用真實連結的需求 , 想使用的原因很簡單 , 主要是因為現在大多新式瀏覽器 , 只要給予真實檔案路徑都可以直接在瀏覽器開啟 pdf , txt等文件 , 讓用戶可以在線閱讀 , 而不需要下載回本機 ~

在全局 → 上傳附件 → 論壇附件中有一個"附件 URL 地址、媒體附件播放:"開啟的選項 , 開啟後附件檔案旁會多了一條超連結的圖示 , 點擊後會產生 attach://aid" 的附件連結方式在任何站內的帖子中引用,並支持媒體類附件的直接播放 !

只要透過二次修改 , 就可以讓 attach://aid 的附件顯示方式改成顯示附件真實路徑了 ~

補充:不使用 attach://aid 插入附件方式 , 還是可以使用Discuz本身強大的附件系統喔 !

這邊提供修改方法適用於 Discuz X2, X3版本

DISCUZ真實路徑顯示修改



首先先來修改 attach 附件檔案的判定 , 因出於安全考慮Discuz對未添加至允許副檔名名單中的檔案,上傳文件後會一併將不認識的副檔名後綴改名為.attach , 因此會影響到在呼叫真實連結時 , 某些未在名單中的附檔名顯示 .attach , 所以我們還需要手動添加一些常用上傳的副檔名 , 例如 pdf 或是 office系列的副檔名 (doc,ppt,xls等等)

打開:source/class/discuz/discuz_upload.php 檔案

查找
function get_target_extension($ext) {

static $safeext  = array('attach', 'jpg', 'jpeg', 'gif', 'png', 'swf', 'bmp', 'txt', 'zip', 'rar', 'mp3');

添加上你需要開放的副檔名 例如:
static $safeext  = array('attach', 'jpg', 'jpeg', 'gif', 'png', 'swf', 'bmp', 'txt', 'zip', 'rar', 'mp3' , 'pdf' ,'doc','docx','xls','xlsx','ppt','pptx');

接下來就可以開始修改控制attach的函數檔案了 ~
打開source\function\function_discuzcode.php 檔案
修改 function parseattachurl 功能函數

改為:
function parseattachurl($aid, $ext, $ignoretid = 0) {

        global $_G;

        $_G['forum_skipaidlist'][] = $aid;

        $aid = intval($aid);
        
        $tableidcheck = DB::fetch_first("SELECT * FROM ".DB::table('forum_attachment')." WHERE aid='$aid'");
               
        $atableid = $tableidcheck['tableid'];
               
        $tableid= "forum_attachment_".$atableid;
               
        $attach = DB::fetch_first("SELECT * FROM ".DB::table($tableid)." WHERE aid='$aid'");

        $attachfile = $attach['attachment'];

        return $_G['siteurl']."data/attachment/forum/".$attachfile;

}

接下來就可以使用插入attach://aid的方式來獲取附件的真實連結囉 !

不過使用真實連結容易使檔案被他網盜連 , 造成網站流量以及頻寬的浪費 , 若對於伺服器端沒有任何管理能力的朋友不建議在網站上張貼真實路徑的下載連結。



收藏回覆 只看該作者 道具 舉報

by=QQ= 發表於 2019-4-6 19:16:37
太牛了哥

回覆 只看該作者 道具 舉報

byajplushk 發表於 2018-12-5 11:45:09
Discuz X3 修改attach附件顯示真實路徑

回覆 只看該作者 道具 舉報

byroustar31 發表於 2017-8-4 13:54:39
我也需要真實位置

回覆 只看該作者 道具 舉報

byzgzl2099 發表於 2017-4-16 11:59:59
非常需要。感谢

回覆 只看該作者 道具 舉報

by84151515zz 發表於 2017-4-8 11:04:23
需要看一下

回覆 只看該作者 道具 舉報

by邱品翔@FB 發表於 2017-3-17 20:16:20
感謝大大分享~~~~~~~~~~~~~~

回覆 只看該作者 道具 舉報

bydu2017 發表於 2017-3-11 15:59:09
thank you share

回覆 只看該作者 道具 舉報

byhughs 發表於 2017-1-8 23:41:54
謝謝分享 想要瞭解看看

回覆 只看該作者 道具 舉報

byAngelaLam@FB 發表於 2016-12-29 02:47:29
Discuz X3 修改attach附件顯示真實路徑

回覆 只看該作者 道具 舉報

Traffic Exchange Site
您需要登錄後才可以回帖 登錄 | 立即註冊

作者資訊

文章分類

SR數位設計工作室

  • 服務專線:03-3555-069


ECSHOP購物網站開發|接案說明|線上洽詢|隱私權政策|SR數位設計(CMS)

信箱:sr.design2011@gmail.com

, Processed in 0.373786 second(s), 35 queries , Gzip On.

Copyright © 2011-2014 Template By SR網頁設計清新部落風格

Core - DZ2.5 GMT+8, 2024-4-23 19:18

回頂部