摘要:老牌编辑器FCK的升级版CKEditor(http://ckeditor.com/) 经过重写,提供了丰富而强大的集成和互动的API。新版编辑器是完全基于插件,它可以扩展所有部件以符合需求。FCKeditor升级后的 CKEditor去掉了上传功能,只提供了基本的文本编辑功能,上传模块由另一个组件CKFinder来实现.换句话说编辑器如果需要上传功能,就需要再 下载CKFinder(http://www.ckfinder.com/)
1.分别解压CKEditor和CKFinder到你的web目录,为了方便使用我们都把它放到同一个目录下;
2、ckeditor 配置
<textarea class="textarea_editor span12" rows="6" name="Intro" placeholder="Enter text ...">放放风</textarea>
<script src="__PUBLIC__/Component/Ckeditor/ckeditor.js"></script> 一定要引入
<script type="text/javascript" src="__PUBLIC__/Component/Ckfinder/ckfinder.js"></script> 一定要引入
<script type="text/javascript">
// 启用 CKEitor 的上传功能,使用了 CKFinder 插件
CKEDITOR.replace( 'Intro', {
filebrowserBrowseUrl : '__PUBLIC__/Component/Ckfinder/ckfinder.html',
filebrowserImageBrowseUrl : '__PUBLIC__/Component/Ckfinder/ckfinder.html?Type=Images',
filebrowserFlashBrowseUrl : '__PUBLIC__/Component/Ckfinder/ckfinder.html?Type=Flash',
filebrowserUploadUrl : '__PUBLIC__/Component/Ckfinder/core/connector/php/connector.php?command=QuickUpload&type=Files',
filebrowserImageUploadUrl : '__PUBLIC__/Component/Ckfinder/core/connector/php/connector.php?command=QuickUpload&type=Images',
filebrowserFlashUploadUrl : '__PUBLIC__/Component/Ckfinder/core/connector/php/connector.php?command=QuickUpload&type=Flash'
});
</script>
3、配置ckfinder
(1)在33行把function CheckAuthentication() { return false; }修改成function CheckAuthentication() { return true; }
当然直接这样做是不安全的。建议通过session去判断,例如:
function CheckAuthentication()
{
if(null==$_SESSION['Admin_User'] || $_SESSION['Admin_User']==''){
return false;
}else{
return true;
}
}
(2)在第63行修改上传路径
$baseUrl = '/uploads/';这是我的设置,即将上传文件都保存在网站根目录的uploads文件夹下。
(3)把82行$baseDir的路径修改成绝对路径,因为这里resolveUrl函数不支持。绝对路径是从盘符开始的。我的是windows下web服务装在D盘修改成;
$baseDir = 'd:/wamp/www/test/mynews/upload/';//这里写你的绝对路径
(4)实现CKFinder上传文件时按当前时间戳重命名文件名,打开:ckfinder\core\connector\php\php5\CommandHandler\FileUpload.php
找到下面这几行,大约在59-61行左右:
if ($sFileName != $sUnsafeFileName) {
$iErrorNumber = CKFINDER_CONNECTOR_ERROR_UPLOADED_INVALID_NAME_RENAMED;
}
在其后面加入如下两行代码:
$sExtension=CKFinder_Connector_Utils_FileSystem::getExtension($sFileName);
$sFileName=date("Ymd")."_".date("His").".".$sExtension;
ok 了,就这么简单,有好的建议请留言