不論是JCE還是CKEDITOR,都沒解決中文名文件的問題,要麼上傳失敗,要麼傳上去了中文名不能被web訪問。相比之下,JCE更加人性化,比如文件上傳後默認被選中,不需用戶在那麼小的彈出窗口去上下翻搜尋剛剛上傳的文件。研究了下JCE的源碼,改掉保存文件名的方式,使用純數字來作為文件名。
到joomla安裝的目錄,找到components/com_jce/editor/extensions/browser/file.php,修改 1017 - 1020 行:
復制代碼 代碼如下:
// strip extension
$name = WFUtility::stripExtension($name);
// make file name 'web safe'
$name = WFUtility::makeSafe($name, $this->get('websafe_mode', 'utf-8'));
改成
復制代碼 代碼如下:
$name = date('Ymd-His-', time()).rand(999);
我的joomla版本是1.5, JCE版本 2.1.3,不同版本修改的位置可能稍有差別。