PHP中使用FCKeditor编辑器

来源:互联网 发布:无限极网络机顶盒 编辑:程序博客网 时间:2024/05/22 10:37
1、概述

FCKeditor是目前最优秀的可见即可得网页编辑器之一,它采用JavaScript编写。具备功能强大、配置容易、跨浏览器、支持多种编程语 言、开源等特点。它非常流行,互联网上很容易找到相关技术文档,国内许多WEB项目和大型网站均采用了FCKeditor(如百度,阿里巴巴)。本文将通 过与 PHP相结合,从基本安装到高级的配置循序渐进介绍给广大PHPer。
FCKeditor官方网站:http://www.fckeditor.net/
FCKeditor Wiki:http://wiki.fckeditor.net/


2、下载FCKeditor
登录FCKeditor官方站(http://www.fckeditor.net),点击网站右上角“Download”链接。
注意:当点击“FCKeditor_2.4.3.zip”链接后,将跳转到sourceforge.net网站上自动下载。如果您当前使用Linux或Unix系统,可以点击“FCKeditor_2.4.3.tar.gz”链接下载.tar.gz格式的压缩包。

3、安装FCKeditor
        解压“FCKeditor_2.4.3.zip”文档到您的网站目录下,我们先假定您存放FCKeditor和调用脚本存于同一个目录下。

fckeditor目录包含FCKeditor2.4.3程序文件。check.php用于处理表单数据。add_article.php和 add_article_js.html分别是PHP调用FCKeditor和JavaScript调用FCKeditor实例脚本文件。

    3.1、用PHP调用FCKeditor
调用FCKeditor必须先载入FCKeditor类文件。具体代码如下。

PHP代码:  

<?php  
include("fckeditor/fckeditor.php") ; // 用于载入FCKeditor类文件   
?>
接下来,我们需要创建FCKeditor实例、指定FCKeditor存放路径和创建(显示)编辑器等。具体代码如下所示(代码一般放在表单内)。

PHP代码:  

<?php  

$oFCKeditor = new FCKeditor('FCKeditor1') ; // 创建FCKeditor实例  

$oFCKeditor->BasePath = './fckeditor/'; // 设置FCKeditor目录地址  

$FCKeditor->Width='100%'; //设置显示宽度  

$FCKeditor->Height='300px'; //设置显示高度的高度  

$oFCKeditor->Create() ; // 创建编辑器  

?>

下面是笔者创建好的实例代码,您可将代码保存为add_article.php
通过浏览里打开http://127.0.0.1/add_article.php 查看FCKeditor安装效果。
FCKeditor安装成功!

   注意:如果您想将FCKeditor创建为HTML结果代码,以便于在模板引擎里面调用(如Smarty)可使用如下代码。
$output = $oFCKeditor->CreateHtml() ;

   现在,您可通过POST方式获得编辑器的变量值。本例将表单的action设置为check.php,您可在check.php里使用代码
$fckeditorValue = $_POST['FCKeditor1'];
获得编辑器的变量值了。

    FCKeditor安装成功了。但是,我们还可以通过更多设置来使FCKeditor更加灵活人性化。具体方法文本后面介绍。

FCKeditor常用设置FCKeditor已经安装成功了,也可以使用了。但是我们可以通过一些简单的设置使FCKeditor更加符合您的项目需求。
设置工具栏很简单,只需打开fckeditor目录下面的fckconfig.js文件,按CTRL+F搜索FCKConfig.ToolbarSets["Default"]代码,找到如下代码。

XML/HTML代码
['Source','DocProps','-','Save','NewPage','Preview','-','Templates'],  

['Cut','Copy','Paste','PasteText','PasteWord','-','Print','SpellCheck'],  

['Undo','Redo','-','Find','Replace','-','SelectAll','RemoveFormat'],  

['Form','Checkbox','Radio','TextField','Textarea','Select','Button','ImageButton','HiddenField'],  

'/',  

['Bold','Italic','Underline','StrikeThrough','-','Subscript','Superscript'],  

['OrderedList','UnorderedList','-','Outdent','Indent'],  

['JustifyLeft','JustifyCenter','JustifyRight','JustifyFull'],  

['Link','Unlink','Anchor'],  

['Image','Flash','Table','Rule','Smiley','SpecialChar','PageBreak'],  

'/',  

['Style','FontFormat','FontName','FontSize'],  

['TextColor','BGColor'],  

['FitWindow','-','About']  
]  
在默认情况下,FCKeditor会调用上面定义的所有工具栏按钮。大家可以根据自己的需求进行设置。表1对上面的配置选项功能说明进行汇总。

代码名称

功能

代码名称

功能

Source源代码DocProps页面属性-|分隔符Save保存NewPage新建Preview预览Templates模板Cut剪切Copy复制Paste粘贴PasteText粘贴为无格式文本PasteWordMS Word粘贴Print打印SpellCheck拼写检查Undo撤消Redo重做Find查找Replace替换SelectAll全选RemoveFormat清除格式Form表单Checkbox复选框Radio单选框TextField单行文本Textarea多行文本Select列表菜单Button按钮ImageButton图像域HiddenField隐藏域Bold加粗Italic倾斜Underline下划线StrikeThrough删除线Subscript下标Superscript上标OrderedList插入/删除编号列表UnorderedList插入/删除项目列表Outdent减少缩进Indent增加缩进JustifyLeft左对齐JustifyCenter居中对齐JustifyRight右对齐JustifyFull两端对齐Link插入/编辑链接Unlink取消链接Anchor插入/编辑锚点链接Image插入编辑图像Flash插入/编辑FlashTable插入/编辑表格Rule插入水平线Smiley插入表情SpecialChar插入特殊符号PageBreak插入分页Style样式FontFormat格式FontName字体FontSize大小TextColor文本颜色BGColor背景颜色FitWindow全屏编辑About关于Fuckeditor

表1:工具栏配置选项功能进行汇总

配置上传
要使您的FCKeditor能够使用上传功能,您必须进行以下配制。

注意:FCKeditor不支持虚拟目录,您的路径设置都是针对网站根目录的绝对路径而言的。这点对于发布到远程网站目录的开发者极为不便,后面我们会对此进行讨论。

一、打开fckeditor\editor\filemanager\upload\php\config.php,找到代码$Config['Enabled'],将值设置为true。

二、接下来几行,设置$Config['UserFilesPath'],设置上传路径。

三、打开fckeditor\fckconfig.js文件,找到代码_FileBrowserLanguage,将值设置为php。接下来一行,把_QuickUploadLanguage值也设置为php。

配置文件浏览

一、打开fckeditor\editor\filemanager\browser\default\connectors\php\config.php
找到代码$Config['Enabled'],将值设置为true;
二、接下来几行,设置$Config['UserFilesPath'],设置浏览路径。

关于上传\文件浏览安全性问题
为了解决FCKeditor不支持虚拟目录问题,和FCKeditor文件上传的安全性考良。我们有必要在这里单论对此进行讨论。
打开fckeditor\editor\filemanager\upload\php\config.php,找 到$Config['UserFilesPath']代码,在此行代码之前定义变量$root_path = $_SERVER['PHP_SELF'];
重新设置$Config['UserFilesPath']变量的值,示例如下。
$Config['UserFilesPath'] = $root_path . '您想上传的目录名/' ;

打开fckeditor\editor\filemanager\browser\default\connectors\php \config.php,找到代码$Config['UserFilesPath'],在此行代码之前定义变量$root_path = $_SERVER['PHP_SELF'];
重新设置$Config['UserFilesPath']变量的值,示例如下。
$Config['UserFilesPath'] = $root_path . '您想浏览的目录名/'
至此,您的FCKeditor已解决不支持虚拟目录问题。接下来,我们介绍一种技巧配置只允许管理员才可以使用FCKeditor上传问题。
解决方法其实很简单,假如网站采用$_SESSION['admin_id']验证管理员的登录id,您只需将相关的脚本文件引入即可。然后使用下面的代码配置文件上传\浏览开关。

精简FCKeditor文件空间大小
FCKeditor目录下面包含有许多示例代码,文档等资源,在我们的WEB项目正式发布式前,这些文件不但没有任何意义,反而会占用相当大的空间。下面我们介绍如何删除这些文件。
一:删除所有以“_”开头的文件夹
二:删除fckeditor目录下面除fckconfig.js、fckeditor.js、fckeditor.php、 fckeditor_php4.php、fckeditor_php5.php、fckpackager.xml、fckstyles.xml、 fcktemplates.xml、editor目录以外的所有文件(即,只保留刚才提到的几个文件和一个目录)。
三:进入fckeditor\editor\filemanager\browser\default\connectors文件夹,只保留PHP文件夹和test.html文件。
四:进入fckeditor\editor\filemanager\upload文件夹,只保留PHP文件夹和test.html文件。
五:进入fckeditor\editor文件夹,这个目录下面是一些语言包文件。除保留_getfontformat.html、 _translationstatus.txt、en.js、zh.js、zh-cn.js外,其它语言包对国内项目来说意义不大,可以删除。
六:进入fckeditor\editor\skins文件夹,该文件夹保存FCKeditor文件,如果您不想用可以删除。


原创粉丝点击
热门问题 老师的惩罚 人脸识别 我在镇武司摸鱼那些年 重生之率土为王 我在大康的咸鱼生活 盘龙之生命进化 天生仙种 凡人之先天五行 春回大明朝 姑娘不必设防,我是瞎子 蛀牙伤到神经了怎么办 给客户发错邮件怎么办外贸 cf没有枪声和脚步声怎么办 穿越火线fps太低怎么办 win10玩cf没有声音怎么办 儿子死了欠的钱怎么办 儿子欠银行的钱怎么办 惹了社会上的混混怎么办 我是五年级惹上混混怎么办 孩子挨欺负家长怎么办幼儿园 孩子被同学欺负不敢上学怎么办 孩子被欺负不敢还手怎么办 2个月的婴儿内热怎么办 孩子把别人打了怎么办 学生在学校被打怎么办 妈和老丈人搞外遇怎么办? 丈人住在双方出资房中怎么办 金木水火土缺水怎么办? 练太极注意不集中怎么办 白色裙子被染色了怎么办 两边的头发向外翘怎么办 感冒的前兆来了怎么办 压腿把筋拉伤了怎么办 压腿压不下去了怎么办 床的气压杆坏了怎么办 床打开压不下去怎么办 裤子大了怎么办小窍门 小孩不准守课堂纪律怎么办 学生在学校体育课受伤怎么办 手指被篮球砸肿了怎么办 眼睛被篮球砸了怎么办 宝宝被篮球砸了怎么办 手被篮球砸肿了怎么办 上体育课时脚不慎扭伤怎么办 孩子受伤没有参加考试怎么办 如果我想离婚对方不愿意怎么办 金龙自切尾怎么办 微信无法正常打开怎么办 大三下体育挂了怎么办 大二体育挂科了怎么办 大四体育老师不给成绩怎么办