首页 > 语言 > PHP > 正文

PHP中CKEditor和CKFinder配置问题小结

2024-07-21 02:53:57
字体:
来源:转载
供稿:网友
PHP中CKEditor和CKFinder配置问题小结,使用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']);两者配合用起来还是挺不错的,更重要的原因是安全性高了很多。


注:相关教程知识阅读请移步到编辑器频道。
发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表