CKEditor 是 Web 页面所用的所见即所得的文本编辑器,是 著名的 FCKEditor2.0 的升级版。官网 http://ckeditor.com/。
CKEditor 发布之后,对 FCKEdiror 的一些功能进行了整合,比较显著的是文件和媒体文件管理的功能被提取出来,成为一个独立的 CKFinder 组件(网址:http://ckfinder.com),功能也完善了许多。独立出来的 CKFinder 组件现在需要 License 支持了(购买网址:http://ckfinder.com/purchase)。而同类的软件 tinyMCE 也需要购买该功能(用 MCFileManager 和 MCImageManager 插件实现)。
CKEditor 3.4 于 2010 年 8 月 17 日发布,是目前最新的版本。CKFinder 2.0.1 也是同日发布的最新修订版。
CKEditor 3.4 与 CKFinder 2.0.1 在 PHP 下的整合:
CKEditor 的使用比较简单。CKFinder 独立使用也很简单。它们的整合……也很简单。
…… 使用别人开发的软件,照着软件说明书做就可以了,本来就没有什么难的。但是网上一大堆一知半解的“教程”反而搞得人晕晕乎乎……
安装 CKEditor:解压即可。本人的安装路径在网站根目录的 ~/_myPHP5/_ckeditor3.4 下。
安装 CKFinder:解压,拷贝到 ~/_myPHP5/_ckeditor3.4/plugins/_ckfinder2.0.1。
CKFinder 组件涉及到网站用户文件存放的安全问题,所以需要在 _ckfinder2.0.1 下的 config.php 文件做一些配置:
1,把函数 CheckAuthentication 的 return false 语句 修改为:
session_start();
return (isset($_SESSION['IsLogin']) && $_SESSION['IsLogin'])? true : false;
$_SESSION['IsLogin'] 是个会话变量,在调用 CKFinder 之前需要初始化和赋值。如果没有定义或赋值为 false,就会报告以下错误:
“因为安全原因,文件不可浏览. 请联系系统管理员并检查CKFinder配置文件”。
2,定义购买的 License(坚决打击盗版行为!盗版无理!):
$config['LicenseName'] = '';
$config['LicenseKey'] = '';
3,定义变量:
$baseUrl = '/_myPHP5/_ckeditor3.4/plugins/_ckfinder2.0.1/userfiles/';
然后写一段测试代码:
<?php
include_once $_SERVER['DOCUMENT_ROOT']. '/_myPHP5/_ckeditor3.4/ckeditor.php';
include_once $_SERVER['DOCUMENT_ROOT']. '/_myPHP5/_ckeditor3.4/plugins/_ckfinder2.0.1/ckfinder.php';
session_start();
$_SESSION['IsLogin'] = true; //or: false
$ckeditor = new CKEditor();
//$ckeditor->basePath = '/_myPHP5/_ckeditor3.4/';
CKFinder::SetupCKEditor($ckeditor, '/_myPHP5/_ckeditor3.4/plugins/_ckfinder2.0.1/');
$content = 'MMMMMMMM NNNNNNNNNNN OOOO PPPPPPP';
$ckeditor->editor('content', htmlentities($content));
?>
进一步使用需要解决的问题:
1,CKFinder 没有购买 License 时,浏览上传的文件时,会有个警告信息:
This is the DEMO version of CKFinder. Please visit
the CKFinder web site to obtain a valid license.
译文:这是 CKFinder 的演示版。请访问 CKFinder 网站取到有效的 License。
如果感觉不爽的话,请购买商业许可。或者违法破解它,高手看代码就能自行破解,低手请搜索网络上的破解办法。
2,CKFinder 用在多用户环境下,存在用户私有文件混淆的问题。需要解决多用户环境下 CKFinder 的使用问题。
参看文章:http://blog.why100000.com/?p=945
3,更改皮肤、配置菜单等等细节问题。
作者:张庆(网眼) 西安 PHP 教育培训中心 2010-8-25
来自“网眼视界”:http://blog.why100000.com
作者微博:http://t.qq.com/zhangking
“十万个为什么”电脑学习网:http://www.why100000.com