由于之前都用FCKeditor,突然使用CKEditor蛮不适应,不过FCK由于有漏洞,也不敢用了,才知道原来FCK是CK的前身。 几经抓狂,花了半天时间终于搞定了。总结了以下心得: 1、/ckeditor/config.js, 配置文件,如果不想写太多,可以直接写好默认配置(语言,菜单栏,宽度),有需要可以百度config配置
config.language = 'en'; 2、官方的demo大多都喜欢用js配置editor区域,习惯写php的我就嫌麻烦,只好看内置的php类。
require_once ROOTPATH . "ckeditor/ckeditor.php"; echo $contentarea;
3、需要上传了 ,只好加入ckfinder。把ckfinder和ckeditor放在同级目录下。
session_start(); 4、上传文件位置:也在/ckfinder/config.php, 找到$baseUrl,之前一直想自己写一个方法用来定位路径,实在不好办,后来只好用sesssion,如果一个网站中,有需要上传到不同的位置,正好可以利用session定位。 if (isset($_SESSION['UseEidtor'])) {
switch ($_SESSION['UseEidtor']) { } 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); 6、 最后就是使用ckfinder
require_once ROOTPATH . "ckeditor/ckeditor.php";
$CKEditor = new CKEditor(); CKFinder::SetupCKEditor($CKEditor, '/ckfinder/') ;//注意这里是相对路径,相对于根目录,不能用绝对路径 $contentarea = $CKEditor->editor("content", $rs['contents']); 两者配合用起来还是挺不错的,更重要的原因是安全性高了很多。 |