前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >FCK编辑器使用详解(PHP版本)

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

作者头像
苦咖啡
发布2018-05-07 16:24:51
2K0
发布2018-05-07 16:24:51
举报
文章被收录于专栏:我的博客

前些日子(很久了),胡乱捣鼓了一番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日

本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
原始发表:2011年5月11日,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
相关产品与服务
云服务器
云服务器(Cloud Virtual Machine,CVM)提供安全可靠的弹性计算服务。 您可以实时扩展或缩减计算资源,适应变化的业务需求,并只需按实际使用的资源计费。使用 CVM 可以极大降低您的软硬件采购成本,简化 IT 运维工作。
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档