您在這裡

[Done] 如何自訂檔案上傳的命名規則!?

chusiang's 的頭像
chusiang 在 2012-12-19 (三) 10:13 發表

各位前輩大家好,凍仁已成功在「內容類型」啟用 Blog,並新增些檔案欄位,可問題來了,當數十個使用者都丟在「私有檔案系統路徑」這樣屆時會不易於維護。

想問一下可否讓使用者上傳後依照特定規則來重新命名檔名呢!?

例如:Hello.txt → A-1.txt

upload field

如果是變更路徑你覺得適用嗎?

D7 的 file field 可以指定該欄位所儲存的路徑,
而如果你有安裝 Token 模組的話,可以使用各式系統參數,以及當前登入使用者的參數,組合成動態的路徑,
例如:some_filefiled/[current-user:name]/[site:current-date]
就可以指定在 some_filefield 路徑下,依照使用者名稱建立資料夾,並按照日期把每天檔案分開。

如果需要用到 Node 的參數的話,例如 nid 這種建立資料當下還沒有的資料,
你需要安裝 filefield path

單純變更檔案名稱的,我還沒看到 自己更正一下,原來 filefield path 就可以改檔名了,不過我是覺得先用資料夾區會比較好喔。
系統遇到相同檔名,會自動加上 filename_[數字] 在副檔名之前,
管理上如果上傳檔案的 Node 刪掉時,那個檔案就會被刪除掉,所以管理內容本身就足夠了。

搞定了,謝謝各位前輩的分享! (耶~~~)

原來 File (Field) Paths 會先將檔案上傳至暫存區,再依照自訂的規則做 move / remane 的動作。而這當中要是遇到中文檔名會發生無法上傳的情形,這時再搭配 Transliteration 將中文檔名轉換成 ASCII 即可。