作者tjjh89017 (伊達政宗)
看板PHP
標題[請益] php上傳檔案
時間Wed Jul 25 17:29:22 2012
假如說網頁預設big5
那麼上傳的檔案名稱編碼也應該是big5(內容編碼不變吧(?
那麼再不更改整個網站編碼的前提下
是否將 move_uploaded_file($_FILES["file"]["tmp_name"],
iconv("big5", "UTF-8", $_FILES["file"]["name"]))
改成上面那樣
在Linux上就能正確的讀取檔名
並且在下載中文檔名的檔案時,就不用IE並且關閉"傳送UTF-8 URL"
讓其他瀏覽器也能正常使用檔案呢?
謝謝大家的指教
--
「二十年後,你會懊悔更多的是那些現在沒做
而不是真的做了的事。
所以,拋開繩結,駛離安全的港灣。
掌握好你的風向
勇敢的探險,夢想,發現吧。」——馬克˙吐溫
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 114.41.31.170
1F:→ BloodyDawn:檔名用urlencode編碼? 07/26 00:11
2F:→ MOONRAKER:要用mb_encode_mimeheader(),而且要用正確的mime格式 07/26 01:00
3F:→ MOONRAKER:透過header()送出,這是我實作過的解決方法…文中所述 07/26 01:00
4F:→ MOONRAKER:的問題我持保留態度。混合編碼即使現在解決,以後問題一 07/26 01:02
5F:→ MOONRAKER:定更大。 07/26 01:02
我的方法是只有將server中的檔案正確命名(UTF-8),然後apache再提取檔案時
不會因為編碼不同而搜尋不到,這是我的方法啦,使用上也沒有什麼問題
大大的方法我會試試看,謝謝www
※ 編輯: tjjh89017 來自: 114.41.21.68 (07/26 11:56)
※ 編輯: tjjh89017 來自: 114.41.21.68 (07/26 11:59)
6F:→ MOONRAKER:直接存UTF-8中文檔名我也做過,不過那系統沒有混合編碼 07/26 12:34
7F:→ MOONRAKER:mime-header是其他專案固定用一隻php吃進檔案再吐出來 07/26 12:35
8F:→ MOONRAKER:的時候用的,終於想起來了 :D 07/26 12:35
所以如果只治標,那用我的方法OK嗎?
謝謝
※ 編輯: tjjh89017 來自: 114.41.21.68 (07/26 12:44)
9F:→ MOONRAKER:我沒big5經驗,不過這樣應該沒問題。 07/26 22:49
謝謝:D
※ 編輯: tjjh89017 來自: 111.246.97.165 (07/26 23:34)