[CodeIgniter] 上傳 favicon/icon 檔案

最近有個需求是客人想要自定網站的 favicon
(就是瀏覽器顯示網站的時候右上角那個小圖案啦)

本來以為跟上傳其他檔案一樣
在 $config[‘allowed_types’] 多加一個 type 就好了

(我是把上傳檔案相關設定放在 config/upload.php)

結果上傳失敗
去 trace 了一下 code
原來是 CodeIgniter 內建的 mime
沒有包含 icon 這種附檔名跟 type

google 了一下 icon 是哪種 mime type

有這兩種

image/x-ico
image/vnd.microsoft.icon
我從我自己 server 抓到的是第一種
但是因為 CodeIgniter 的邏輯有點怪
他會從機器去執行一些 linux 指令
分析檔案的 mime
有時候會抓到很奇怪的 mime
(之前上傳 csv 的時候就會不同機器抓到不同的 mime)
所以保險起見我兩種都把它加到
config/mimes.php
‘ico’=>array(‘image/x-ico’, ‘image/vnd.microsoft.icon’),
加到
$mimes
這個 array 就行了
其他就跟一般檔案上傳的處理流程一樣

發表迴響

你的電子郵件位址並不會被公開。 必要欄位標記為 *

這個網站採用 Akismet 服務減少垃圾留言。進一步瞭解 Akismet 如何處理網站訪客的留言資料