FCK编辑器使用详解(PHP版本)

前些日子(很久了),胡乱捣鼓了一番FCK编辑器的使用,结果还是没有捣鼓明白个所以然(今天又想起来fck的强大,我以前见到的只是它的冰山一角)

今天是按照一下过程完全配置了一遍,并且我也通过测试了。

我用的是fckeditor_2.6.6.0.zip(多国语言版本)(下载地址:http://ckeditor.com/)

一、解压fckeditor文件夹下除了: fckeditor.js fckeditor.php fckconfig.js fckedtior_php4.phpfckeditor_php5.php fckstyles.xml fcktemplates.xml 和editor文件夹 其他的都删除。 editor文件夹下: _source文件夹(网上说_开头的文件以及文件夹都可以删除,由于我初次配置我没有动其他的文件以及文件夹) 删除了editor\filemanager\connectors下面的除了PHP文件夹所有文件夹 文件夹editor\lang存放多国语言 除了en.js、zh.js还有zh-cn.js其他文件都删除

二、更改fckconfig.js文件配置

  1. FCKConfig.AutoDetectLanguage = true ; 改为FCKConfig.AutoDetectLanguage = false ;(不让其自动判断而加载语言)
  2. FCKConfig.DefaultLanguage  = ‘en’ ; 改为FCKConfig.DefaultLanguage  = ‘zh-cn’ ;(设置为中文)
  3. 其中找到FCKConfig.FontNames然后将其改为  FCKConfig.FontNames= ‘宋体;黑体;隶书;楷体_GB2312;Arial;Comic Sans MS;Courier New;Tahoma;Times New Roman;Verdana’ ;(设置字体)
  4. 找到FCKConfig.FontSizes改为:  FCKConfig.FontSizes = ‘9px;10px;11px;12px;13px;14px;16px;18px;24px;36px’ ;(设置大小)
  5. var _FileBrowserLanguage = ‘php’ ; // asp | aspx | cfm | lasso | perl | php | py var _QuickUploadLanguage = ‘php’ ; // asp | aspx | cfm | lasso | perl | php | py(如果这两项是是php则不用修改,否则改之)
  6. FCKConfig.EnterMode = ‘p’ ; // p | div | br FCKConfig.ShiftEnterMode = ‘br’ ;     // p | div | br   改为FCKConfig.EnterMode = ‘br’ ; // p | div | br FCKConfig.ShiftEnterMode = ‘p’ ;     // p | div | br               (改过之后在编辑的时候按下enter时间距比较小了)
  7. (开启上传功能) FCKConfig.LinkUpload = true ; FCKConfig.ImageUpload = true ; FCKConfig.FlashUpload = true ;  【开启浏览服务器功能】 FCKConfig.LinkBrowser = true ; FCKConfig.ImageBrowser = true ;
  8. 设置上传路径 打开文件editor\filemanager\connectors\php\config.php $Config[‘Enabled’] = false ;改为$Config[‘Enabled’] = true ; $Config[‘UserFilesPath’] = ‘/userfiles/’ ; 这个地方尤其注意($Config[‘UserFilesAbsolutePath’] = ” ;设置为空,设置关乎上传功能的实现),我设置的是:/test/fck/upload/(我打算将通过fck上传的文件放在www/test/fck/upload/)(解释:这个是相对网站根目录设置的,这个地方可以随意发挥一下……怎么发挥就看个人本事了) $Config[‘QuickUploadPath’][‘File’]  = $Config[‘UserFilesPath’] ; $Config[‘QuickUploadPath’][‘Image’]  = $Config[‘UserFilesPath’] ; $Config[‘QuickUploadPath’][‘Flash’]  = $Config[‘UserFilesPath’] ; $Config[‘QuickUploadPath’][‘Media’]  = $Config[‘UserFilesPath’] ; 分别改为 $Config[‘QuickUploadPath’][‘File’]  = $Config[‘FileTypesPath’][‘File’] ; $Config[‘QuickUploadPath’][‘Image’]  = $Config[‘FileTypesPath’][‘Image’] ; $Config[‘QuickUploadPath’][‘Flash’]  = $Config[‘FileTypesPath’][‘Flash’] ; $Config[‘QuickUploadPath’][‘Media’]  = $Config[‘FileTypesPath’][‘Media’] ;
  9. 上传功能优化 打开connectors/php/commands.php 找到$sFileName = $oFile[‘name’] ;改为$sFileName = time().”.”.strtolower(array_pop(explode(“.”,$oFile[‘name’])));(这个是将文件名改为时间戳)(我觉得这个办法挺好的,可以上传含有汉字的文件名) 找到:FCKConfig.LinkBrowserURL改为: FCKConfig.LinkBrowserURL = FCKConfig.BasePath + ‘filemanager/browser/default/browser.html?Type=File&Connector=’ + encodeURIComponent( FCKConfig.BasePath + ‘filemanager/connectors/’ + _FileBrowserLanguage + ‘/connector.’ + _FileBrowserExtension ) ; 找到FCKConfig.LinkUploadURL改为: FCKConfig.LinkUploadURL = FCKConfig.BasePath + ‘filemanager/connectors/’ + _QuickUploadLanguage + ‘/upload.’ + _QuickUploadExtension + ‘?Type?=File’;(这个是可以通过添加超链接上传文件以及浏览服务器)
  10. 上传文件大小限制(我用显示图片大小作为例子吧?可以抛砖引玉的吧?) 修改/fckeditor/editor/filemanager/connectors/php/config.php 找到这行代码:$Config[‘AllowedExtensions’][‘Image’] = array(‘bmp’,’gif’,’jpeg’,’jpg’,’png’) ;$Config[‘DeniedExtensions’][‘Image’]   = array() ; 在其后面加上: $Config[‘MaxImageSize’] = ‘1024’;//使用KB作为单位,先向下看吧? 然后修改/fckeditor/editor/filemanager/connectors/php/commadns.php 找到$sFileUrl = CombinePaths( GetResourceTypePath( $resourceType, $sCommand ) , $currentFolder ) ; 然后加入以下代码: if ( isset( $Config[‘MaxImageSize’] ) ) { $iFileSize = round( $oFile[‘size’] / 1024 ); //这个知道为啥了刚才的单位是kb了吧? 对了round函数是取整的意思   if($iFileSize > $Config[‘MaxImageSize’] )  { $sErrorNumber = ‘4444’ ;   //为啥错误代码是4444?答:这个可以随便设定的。只要不和原来fck中错误代码冲突就可以,不要设置成 0、1、101、201、202、203、500等数字 }  } 然后修改/fckeditor/editor/dialog/fck_image/fck_image.js(这个其实是上传对话内容,比如成功与否等等,自己琢磨琢磨) 找到function OnUploadCompleted( errorNumber, fileUrl, fileName, customMsg )中修改switch 中在default前面加上 case 4444 : alert( “您的图片大小超过了10240K的限制!请选择小于1024K的图片并重新上传.” );break;
  11. 配置自己的特别的工具栏(fck功能太强大了,其实我们很多都没有用到,所有可以把工具栏精简一些) 找到fckeditor/fckeditorconfig.php。修改FCKConfig.ToolbarSets[“Basic”]; FCKConfig.ToolbarSets[“Joyous”] = [  [‘Preview’,’Source’,’Templates’,’Cut’,’Copy’,’Paste’,’PasteText’,’PasteWord’,’Undo’,’Redo’],[‘Find’,’Replace’,’SelectAll’,’RemoveFormat’],  ‘/’,  [‘Bold’,’Italic’,’Underline’,’Subscript’,’Superscript’],  [‘OrderedList’,’UnorderedList’,’Outdent’,’Indent’,’JustifyLeft’,’JustifyCenter’,’JustifyRight’,’JustifyFull’],[‘Link’,’Unlink’,’Image’,’Flash’,’Table’,’Rule’,’Smiley’,’SpecialChar’],  ‘/’,  [‘FontFormat’,’FontName’,’FontSize’],[‘TextColor’,’BGColor’,’FitWindow’,’About’]   ] ; //声明FCKConfig.ToolbarSets[“Joyous”]Joyous就是你定制的个性工具栏。在使用的时候有说明。
  12. 配置完毕了该说怎么用了吧? 1、先把配置好的fckeditor放在网站一个目录下。(尽量简单,还可以多人使用,,这里我放在www/fck/下面) 2、然后在www/fck/下建立include文件夹,再建立一个fck_use.php文件其中代码 <?php include(“../fckeditor/fckeditor.php”);      //*****************注意fck文件夹和本页面的储存关系 $BasePath=’../fckeditor/’;    //*****************编辑器路径 $FCK=new FCKeditor(‘neirong’);       //*****************创建一个fck对象,其中内容名称为content $FCK->ToolbarSet=’Joyous’;          //*****************设置自己的工具栏,默认全部显示 //$FCK->ToolbarSet=’Default’; $FCK->BasePath=$BasePath;        //*****************设置编辑器路径 $FCK->Value=”;           //*****************设置表单的初始值 //$FCK->Width=”80%”;         //*****************设置编辑器宽度像素或者百分比 $FCK->Height=400;          //*****************设置编辑器高度像素或者百分比 $FCK->Create();           //*****************创建一个实例 ?> 这个最基本的用法了。应该可以看明白了吧?
  13. 提取fck中第一个图片路径 <?php        $reg=”/<\s*img\s+[^>]*?src\s*=\s*(\’|\”)(.*?)\\1[^>]*?\/?\s*>/i”;        preg_match($reg,$_POST[‘neirong’],$matches);        echo “$matches[2]”; ?> FCk功能我只是知道其中的一部分,比如加水印了这都是可以自己增加的。希望对你有抛砖引玉的作用。

Joyous 2011年5月11日

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

发表于

我来说两句

0 条评论
登录 后参与评论

相关文章

来自专栏happyJared

Intellij IDEA 神器居然还有这些小技巧

Intellij IDEA真是越用越觉得它强大,它总是在我们写代码的时候,不时给我们来个小惊喜。出于对Intellij IDEA的喜爱,我决定写一个与其相关的专...

10820
来自专栏九彩拼盘的叨叨叨

Chrome 插件收藏

Chrome 上有非常多的功能强大的和插件。这些插件让 Chrome 变得更加强大。下面是我常用的一些插件。

33010
来自专栏睿哥杂货铺

玩转编程语言:基于Node.js构建自定义代码生成器

在真实的软件开发过程中,无论使用何种编程开发语言,都不可避免的会遇到代码重复的问题。如何处理重复的问题,可以选择情怀(手动再敲一遍),也可以选择 Copy-to...

35750
来自专栏数据小魔方

R语言笔记之——常用数据导入方式简介

因为之前旁听过几节R语言的课程,再加上自己练习数据可视化的需要(特别是可视化包——“ggplot2”),学了些R语言的皮毛。 总觉得基础没打牢,好高骛远、急于求...

34470
来自专栏腾讯移动品质中心TMQ的专栏

基于自定义向导的C++单元测试环境自动化配置

导语:相信使用过Visual Studio的小伙伴都感受过VS向导的强大,通过应用程序向导,我们可以很方便地搭建应用程序,通过代码向导,可以大大提高我们编写代码...

218100
来自专栏小尘哥的专栏

thymeleaf中使用layui

头部引入css,尾部引入js,定义两个模板(一个也可以,里面的碎片分开写,我喜欢写两个分别引入),注意th:fragment,fragment即碎片,可以在模板...

1.1K60
来自专栏CRPER折腾记

Vue 折腾记 - (10) 给axios做个挺靠谱的封装(报错,鉴权,跳转,拦截,提示)

不推荐完全copy过去,可以看看我是如何针对我这边业务; 做的一个axios的封装及实现的思路

51520
来自专栏Danny的专栏

机房收费系统(VB.NET)——超详细的报表制作过程

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/huyuyang6688/article/...

28330
来自专栏编程之旅

PHP开发——yii2多图上传组件的使用

最近在使用yii2开发一个表单页面的时候,有多图上传的需求,稍微找了找这方面的组件,基本都安利fileInput这个组件,于是就尝试着使用这个库来完成后端表单页...

31010
来自专栏前端布道

Angular开发实践(六):服务端渲染

Angular Universal Angular在服务端渲染方面提供一套前后端同构解决方案,它就是 Angular Universal(统一平台),一项在服务...

652100

扫码关注云+社区

领取腾讯云代金券