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放在同级目录下。
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 找到
$sUnsafeFileName =CKFinder_Connector_Utils_FileSystem::convertToFilesystemEncoding(CKFinder_Connector_Utils_Misc::mbBasename($uploadedFile['name']));
后面加上
$sExtension = CKFinder_Connector_Utils_FileSystem::getExtension($sUnsafeFileName);
$sUnsafeFileName=date('YmdHis').'.'.$sExtension;
或者
function mySetFileName() {
$gettime = explode(' ', microtime());
$string = 'abcdefghijklmnopgrstuvwxyz0123456789';
$rand = '';
for ($x = 0; $x < 5; $x++) {
$rand .= substr($string, mt_rand(0, strlen($string) - 1), 1);
}
return date("ymdHis") . substr($gettime[0], 2, 6) . $rand;
}
$sExtension = CKFinder_Connector_Utils_FileSystem::getExtension($sUnsafeFileName);
$sUnsafeFileName = mySetFileName() . '.' . $sExtension;
6、设置按日期生成上传子目录
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']);
echo $contentarea;
补充:
若整合后会出现“ 因为安全原因,文件不可浏览. 请联系系统管理员并检查CKFinder配置文件”错误这样恶心的代码,暂时没有找到破解方法。