PHP中CKEditor和CKFinder配置

openkk 12年前發布 | 4K 次閱讀 5.2.1版本發布

1、/ckeditor/config.js, 配置文件,如果不想寫太多,可以直接寫好默認配置(語言,菜單欄,寬度),有需要可以百度config配置

config.language = 'en';
config.skin = 'v2';
config.uiColor = '#AADC6E';
config.toolbar = 'Basic';
….

2、官方的demo大多都喜歡用js配置editor區域,習慣寫php的我就嫌麻煩,只好看內置的php類。

require_once ROOTPATH . "ckeditor/ckeditor.php";
$CKEditor = new CKEditor();
$CKEditor->returnOutput = true//設置輸出可用變量的情況
$CKEditor->basePath = '/ckeditor/';//設置路徑
$contentarea =  $CKEditor->editor("content"$rs['contents'])//生成一個以name為content的textarea
 
echo $contentarea;

3、需要上傳了 ,只好加入ckfinder。把ckfinder和ckeditor放在同級目錄下。
打開/ckfinder/config.php,  首先設置第一個函數CheckAuthentication(),這個函數需要按照自己的規則寫,只 要return  true的情況才能允許上傳文件到服務器的,當然不建議直接寫return true,這將導致安全問題。可以采用session來處理比較方便。

session_start();
function CheckAuthentication(){
    
if(isset($_SESSION['UseEidtor']))
        
return true;
    
else
         
return  false;
}

4、上傳文件位置:也在/ckfinder/config.php,  找到$baseUrl,之前一直想自己寫一個方法用來定位路徑,實在不好辦,后來只好用sesssion,如果一個網站中,有需要上傳到不同的位置,正好可以利用session定位。

if (isset($_SESSION['UseEidtor'])) {
    
    
switch ($_SESSION['UseEidtor']) {
        
case 'Addr1':
             
$baseUrl =  '/addr1/uploadfile/';
         
case  'Addr2':
            
$baseUrl = '/addr2/upfiles/';
    
}
    
} else {
    
     
$baseUrl =  '/upfiles/';
    
}

5、對于上傳文件名,ckfinder會按照原有的名字命名,中文的情況下可能會亂碼,所以建議使用日期重命名。打開/ckfinder/core /connector/php/php5/CommandHandler/FileUpload.php  找到< /p>

$sUnsafeFileName =CKFinder_Connector_Utils_FileSystem::convertToFilesystemEncoding(CKFinder_Connector_Utils_Misc::mbBasename($uploadedFile['name']));

后面加上

$sExtension = CKFinder_Connector_Utils_FileSystem::getExtension($sUnsafeFileName);
$sUnsafeFileName=date('YmdHis').'.'.$sExtension;

6、 最后就是使用ckfinder

require_once ROOTPATH . "ckeditor/ckeditor.php";
    
require_once ROOTPATH . 'ckfinder/ckfinder.php' ;
    
     
$CKEditor  = new  CKEditor();
    
$CKEditor->returnOutput = true;
    
$CKEditor->basePath = '/ckeditor/';
 
    
CKFinder::SetupCKEditor($CKEditor'/ckfinder/') ;//注意這里是相對路徑,相對于根目錄,不能用絕對路徑
 
    
$contentarea =  $CKEditor->editor("content"$rs['contents']);

兩者配合用起來還是挺不錯的,更重要的原因是安全性高了很多。

轉自:http://blog.csdn.net/shunzi110/article/details/7311291

 本文由用戶 openkk 自行上傳分享,僅供網友學習交流。所有權歸原作者,若您的權利被侵害,請聯系管理員。
 轉載本站原創文章,請注明出處,并保留原始鏈接、圖片水印。
 本站是一個以用戶分享為主的開源技術平臺,歡迎各類分享!