zoukankan      html  css  js  c++  java
  • php环境下ckeditor和ckfinder的配置详解

    摘要:老牌编辑器FCK的升级版CKEditor(http://ckeditor.com/) 经过重写,提供了丰富而强大的集成和互动的API。新版编辑器是完全基于插件,它可以扩展所有部件以符合需求。FCKeditor升级后的 CKEditor去掉了上传功能,只提供了基本的文本编辑功能,上传模块由另一个组件CKFinder来实现.换句话说编辑器如果需要上传功能,就需要再 下载CKFinder(http://www.ckfinder.com/)

    1.分别解压CKEditorCKFinder到你的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上传文件时按当前时间戳重命名文件名,打开:ckfindercoreconnectorphpphp5CommandHandlerFileUpload.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 了,就这么简单,有好的建议请留言

  • 相关阅读:
    [Form Builder]POST 与 commit_form 的区别
    [Form Builder]Form中的validate验证事件
    [Form Builder]Oracle Form系统变量中文版总结大全
    [Form Builder]NAME_IN()与COPY()
    [Form Builder]APP_ITEM_PROPERTY.SET_PROPERTY 用法
    解决MVC模式文件下载附件中文名称乱码
    [ASP.NET MVC]笔记(四) UnobtruSive AJAX和客户端验证
    log4net的使用
    Linq 实现sql中的not in和in条件查询
    [ASP.NET MVC]笔记(三) 成员资格、授权和安全性
  • 原文地址:https://www.cnblogs.com/weipeng/p/3586899.html
Copyright © 2011-2022 走看看