看板 PHP 關於我們 聯絡資訊
※ 引述《davidou (老歐 ! 月夜雪嵐)》之銘言: : 我有個程式 他會把字串來當作檔案名稱來用 可是因為我網頁編碼是utf8的 : 要用來當檔名似乎要轉到big5去 所以我這樣寫 : $filename="這是中文檔名"; : $filename=iconv("utf-8","big5",$filename); //因為檔名是big5所以要轉碼才能當檔名 : $filename = str_replace("\\","",$filename); //為避免黨名包含有跳脫字元 : ..[後略] : ----------------------------------------------------------------- : 這樣拿來存中文檔案沒問題 : 可是現在問題是 要是我的filename是日文的話 我這樣把它存成big5碼就會錯啦 : 會變成一串很奇怪的東西, 所以想問看看一下 如果遇到像這樣的問題我該怎解決 這問題好像都會久久出現一次,上傳中文檔名該如何處理? 為啥一定要取中文檔名呢?或者是日文檔名,既然現在都是 UTF-8 的環境 我建議可以把上傳檔名存到 database,然後將實體檔案名稱取成 26英文字母 或者是加上數字、底線這樣會比較好,在網頁下載部份 在利用 header 方式,從資料庫撈取原來的檔名做下載動作 這樣可以解決你上面問題,也不會遇到檔案名稱相同的困難...... -- PHP MVC CodeIgniter 繁體中文手冊: http://tinyurl.com/mduyv8 PHP MVC CodeIgniter 繁體中文討論區:http://tinyurl.com/yayzoz8 PHP MVC CodeIgniter 中文官方網站: http://tinyurl.com/yatds8n Appleboy Blog 電腦技術: http://blog.Wu-Boy.com -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 74.207.249.141
davidou:這我知道XD 重點是在於 這實體檔案在電腦內還有其他用途XD 09/30 21:17
davidou:所以要是亂數之類的,之後我還是得要去開資料庫對她是甚 09/30 21:18
davidou:麼檔案 所以不得已才看看有沒有辦法 09/30 21:18
buganini:那你可以存base64之類的 或是hex 10/02 01:53
kancu:凡事有利就有弊..你想要以後直接看檔名知道它是啥.. 10/02 03:30
kancu:那在上傳時就會有一定的問題跟困難...尤其是不同語系的情況. 10/02 03:32
kancu:個人建議用26英文字母或數字作檔名.. 10/02 03:33
kancu:如果怕以後不知道那個檔名是什麼檔案... 10/02 03:33
kancu:都寫上傳了..何不記錄簡單的檔案資訊到資料庫裡.. 10/02 03:34
kancu:然後簡單的寫個搜尋的功能..我相信這不會花什麼時間的.. 10/02 03:34