WordPress小技巧(1):解決中文檔名圖片無法上傳問題

解決中文檔名圖片無法上傳之檔案
↑因為本站無法複製,所以,將教學弄成純文字檔供網友複製之用。

安裝WordPress後,開始寫一篇文章時,會出現一個問題就是上傳的圖片如果是中文字,上傳時就會出現錯誤。

如果傳的圖片檔名是英文、數字或英文+數字組成的圖片就沒這樣的問題。

可是…有時候我們就是要用中文來分辨上傳圖片的內容。

本篇就教這個小技巧…

先看看問題:

一、新增文章→上傳/插入 (圖片) 

二、選擇檔案。

 

三、選擇中文字的圖片檔。如圖所示:林書豪.jpg

 

四、竟然出現上傳失敗!?

 

五、我將林書豪.jpg的圖片改成20121107.jpg後再試傳看看。

 

六、上傳成功了。 我說…這會不會太麻煩了,我現在就要教各位一個小技巧,解決中文圖片上傳錯誤的辦法。

 

 

解決中文字圖片無法上傳問題的小技巧:

一、必須到資料夾中去修改(強烈建議用FrontPage或Dreamweaver開啟修改。)

要修改的是 wp-admin\includes\file.php
找:
$filename = wp_unique_filename( $uploads[‘path’], $file[‘name’], $unique_filename_callback );
在其後加上:
$fileTypeNameArr =explode(“." , $filename);
$countNum=count($fileTypeNameArr)-1;
$fileExt = $fileTypeNameArr[$countNum]; //取得所上傳文件後綴名
$filename = time().’-’.rand(0,999999999).’.’.$fileExt;//將文件由原名改為時間戳
這樣上傳的文件不再以中文存儲,而是以時間戳為名稱存儲。
上傳中文名的文件後,依然能夠將原中文文件名作為文件的標題。在後台管理界面顯示的是中文標題,因此對於使用沒有影響。

操作方式如下:

一、將file.php用FrontPage或Dreamweaver開啟後,將下列程式碼複製起來。

$filename = wp_unique_filename( $uploads[‘path’], $file[‘name’], $unique_filename_callback );

 

 

二、在FrontPage或Dreamwaver開啟,然後,在編輯/尋找(或尋找取代)將其貼上,然後按「搜尋下一筆」。如下圖所示。

FrontPage操作介面:

 

 

DreamWaver操作介面

 

三、FrontPage大約是在324行中找到,如下圖所示。

 

四、接著在他的下面一行,也就是325行貼上,下列程式碼,如下圖所示。

$fileTypeNameArr =explode(“." , $filename);
$countNum=count($fileTypeNameArr)-1;
$fileExt = $fileTypeNameArr[$countNum]; //取得所上傳文件後綴名
$filename = time().’-’.rand(0,999999999).’.’.$fileExt;//將文件由原名改為時間戳


五、別忘了儲存檔案。
接下來就是再測試寫文章貼中文字圖片的情況。

一、修改完成後試試看上傳中文字圖片


二、選擇檔案


三、選擇有中文字的圖檔。例如:選擇「林書豪2.jpg」的圖檔


四、OK!成功了!這樣以後就可以上傳有中文檔名的圖片檔案囉。



來訪數: (2218)

3 thoughts on “WordPress小技巧(1):解決中文檔名圖片無法上傳問題

  1. Cloud
    2013/08/28 at 14:43:40

    您寫得教學很實用, 但是缺點是code不能直接複製QQ

    1. ccplay
      2013/12/26 at 17:55:15

      一開始我就提供了下載的文字檔喔!
      所以,你可以直接下載來使用。
      在最上面的第一及第二行。

      解決中文檔名圖片無法上傳之檔案
      ↑因為本站無法複製,所以,將教學弄成純文字檔供網友複製之用。

  2. 玉米
    2016/02/23 at 17:37:53

    驗證過有效 請大家安心服用!!!感謝站長!!!

發表迴響

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