程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> 網頁編程 >> PHP編程 >> 關於PHP編程 >> PHP中FCK上傳圖片文件名亂碼

PHP中FCK上傳圖片文件名亂碼

編輯:關於PHP編程

使用fck的朋友可能會碰這樣一個情況就是如果上你的文件名為英文字母是沒有任何問題,如果上傳的是中文漢字就會出現中文名亂碼了,下面我來給大家分析與介紹解決方法。

主要原因是fck中的編(utf-8)碼和本地的編碼(gbk)環緊不一致導致的,修改如下5個文件可以解決

更改FileUpLoad函數 ckeditor/" target="_blank">fckeditoreditorfilemanagerconnectorsphpcommands.php

在文件中找到以下代碼:

 代碼如下 復制代碼

// Get the extension.  
$sExtension = substr( $sFileName, ( strrpos($sFileName, '.') + 1 ) ) ;  
$sExtension = strtolower( $sExtension ) ; 

在其後加上一句:

 代碼如下 復制代碼

$sFileName = strtotime('now').'.'.$sExtension; 

這樣文件名就是 當前時間戳+後綴名了。既解決了中文亂碼,也解決了文件重名

另一種解決辦法,保留中文名

文件4:fckeditoreditorfilemanagerconnectorsphpcommands.php

找到

 代碼如下 復制代碼

function FileUpload( $resourceType, $currentFolder, $sCommand ){

。。。

      找到

      //move_uploaded_file( $oFile['tmp_name'], $sFilePath ) ;

move_uploaded_file( $oFile['tmp_name'], iconv("utf-8","gbk",$sFilePath));

}

對文件名$sFilePath轉碼。

 

文件5:fckeditoreditorfilemanagerconnectorsphputil.php

找到

 代碼如下 復制代碼

function ConvertToXmlAttribute( $value ){

       。。。

       找到

      //return ( utf8_encode( htmlspecialchars( $value ) ) ) ;

       return iconv("GBK", "UTF-8", htmlspecialchars( $value ));

}

對內容進行轉碼。

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved