PHP中CKEditor和CKFinder配置

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 ' ]) ;

两者配合用起来还是挺不错的,更重要的原因是安全性高了很多。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值