上傳中文名檔案亂碼問題
在ckfinder/config.php中找到如下一段配置代碼:
代碼如下 |
複製代碼 |
/* If you have iconv enabled (visit http://php.net/iconv for more information), you can use this directive to specify the encoding of file names in your system. Acceptable values can be found at: http://www.gnu.org/software/libiconv/
Examples: $config['FilesystemEncoding'] = 'CP1250'; $config['FilesystemEncoding'] = 'ISO-8859-2'; */ $config['FilesystemEncoding'] = 'UTF-8'; |
將UTF-8修改為GB2312,上傳後檔案名稱正確了,但在CKEditor中顯示的連結出現亂碼,因為CKEditor所在頁面使用的字元集是UTF-8,未去細究如何解決這個問題,採用了檔案重新命名的方案去替代解決。
上傳檔案重新命名
修改ckfindercoreconnectorphpphp5CommandHandlerFileUpload.php
找到以下代碼
代碼如下 |
複製代碼 |
if ($sFileName != $sUnsafeFileName) { $iErrorNumber = CKFINDER_CONNECTOR_ERROR_UPLOADED_INVALID_NAME_RENAMED;} |
在這段代碼之後添加
代碼如下 |
複製代碼 |
$sExtension=CKFinder_Connector_Utils_FileSystem::getExtension($sFileName);$sFileName=date('YmdHis').'.'.$sExtension; |