快捷搜索:

fckeditor配置详解(php)

媒介:

FCKeidtor是个国外的多说话编辑器,你可以对其设置设置设备摆设摆设文件进行简单改动使之支持今朝常用Web开拓说话的利用,下面我就讲讲FCKeditor的最新版本2.4.2在php的详细设置设置设备摆设摆设历程,有不够和掉足的地方,迎接斧正。

精简:

正由于这个编辑器是支持多说话的,以是首先我们针对应用对其做响应的冗余文件删除。

1、临时文件及文件夹删除:从根目录下开始删除统统以“_”开首的文件及文件夹,由于他们为临时文件和文件夹。删除这类临时文件及文件夹之后,我们还要删除一些根目录下的多余文件,根目录下我们只保留fckconfig.js(设置设置设备摆设摆设文件)、fckeditor.js(js要领调用文件)、fckeditor.php(php要领调用文件,新版本经由过程该文件统一调用php4或者php5的调用文件,fckeditor_php4.php/fckeditor_php5.php你可以根据自己办事器应用的环境删减,建议都保留)、fckeditor_php4.php(php4的调用文件)、fckeditor_php5.php(php5的调用文件)、fckstyles.xml(样式)、fcktemplates.xml(模板)文件和editor文件夹。

2、editorlang目录:寄放的是多说话设置设置设备摆设摆设文件,由于我们只可能用到en和zh-cn(简体中文)以是,根据我的选择,我删掉落其他的说话设置设置设备摆设摆设文件。

3、editorskins界面貌录:默认带有三个界面(default:默认界面,加载速率相对较快;office2003:相对pp的界面,不过速率确凿要慢些;silver:银白色界面,加载速率也相对较快),可以自行抉择是否删除此中一两个。

4、editorfilemanagerbrowserdefaultconnectors目录:寄放编辑器所支持的Web动态说话,我们以php为例以是保留php目录,test.html文件可以赞助你查看某说话下的上传设置等(详细上传设置我将在后面的设置设置设备摆设摆设作较为具体解说),可以自行抉择是否删除。

5、editorfilemanagerupload目录:同理。

到此精简完成,你会发明全部编辑器确凿“瘦身”不少,呵呵

基础设置设置设备摆设摆设:

下面我开始对编辑器进行简单设置设置设备摆设摆设(并非每步都必须,可根据自己的必要参考改动):

1、默认说话

打开fckconfig.js文件(留意此文件是utf-8编码哦),找到FCKConfig.AutoDetectLanguage = true ;(第56行)此句感化为自动检测说话,默觉得true,即表示编辑器会根据系统说话自动检测加载响应的说话,我们将其改为false,不让其检测,然后将FCKConfig.DefaultLanguage = 'en';(编辑器默认说话,第57行)改为简体中文"zh-cn"。

2、字体列表

依然打开fckconfig.js,由于此编辑器为外国人编写,以是默认不供给中翰墨体,我们为其加入,找到FCKConfig.FontNames(第142行)加入“宋体;楷体_GB2312;新宋体;黑体;隶书;幼圆;”其他字体可根据自己必要自行加入。

3、文件上传

FCKeditor的文件治理法度榜样在editor/filemanager/文件夹下,分为浏览(browser)和上传(upload)两种。“浏览”是指浏览办事器已存在文件并可以选择,也可以上传本地文件至办事器;上传是指快速上传,在窗口中点“上传”选项,选择本地文件后上传就行,然则不能查看办事器上已有上传文件,相对而言不太方便,只是操作更为快捷。也便是说FCKeditor中有一个文件浏览,有两个文件上传,而这些设置是分散在多个文件中,设置设置设备摆设摆设相对繁杂,下面我大年夜致讲一下:

在FCKeditor中共有三个文件跟上传功能有关,一个是js文件,两个是php文件,前者关闭后界面中不呈现相关窗口或按钮,后者关闭后相关功能弗成用。

*.AllowedExtensions:(此中*号代表:FCKConfig.LinkUpload、FCKConfig.ImageUpload等)表示容许上传的文件后缀名,为空表示容许所有文件,你可根据自己必要设置上传文件后缀名,必然程度增添安然性,设置的款式可以参考它已有的后缀名设置。

*.DeniedExtensions:同上,表示禁止上传的文件后缀名。

注:你设置了容许上传的,当然禁止的也就不需要设置了,本人保举设置容许的,终究禁止的后缀名列表不能列举完全,可能还有很多我们未曾想到的后缀名。

对js文件的设置设置设备摆设摆设到此已经完成,下面我们进行两个php文件在上传方面的设置:

文件浏览上传改动:

打开editorfilemanagerbrowserdefaultconnectorsphpconfig.php文件,找到:

$Config['Enabled'] = false ;(第28行)将false改为true,即容许上传。

$Config['UserFilesPath'] = '/userfiles/' ;(第32行)为定义上传目录,可根据自己环境进行改动,我将其改为upload目录。

注:留意FCKeditor是不支持虚拟目录的,你的所有路径都是针对网站根目录的绝对路径。

文件快速上传改动:

打开文件editorfilemanageruploadphpconfig.php文件,找到

$Config['Enabled'] = false ;(第28行)将false改为true。

$Config['UserFilesPath'] = '/UserFiles/' ;(第35行)同“文件浏览上传”的上传目录。

$Config['UseFileType'] = false ; (第32行)改为true,不然上传文件不会放在上传目录中

在该文件中,还有一项:

$Config['UserFilesAbsolutePath'] = '' ;(第41行)

这项的感化是设定上传的绝对路径,比如,你想指定上传文件到D:/Web/upload/下,你可以指定它的值为你的绝对路径,留意,假如你指定了该值,那你也要对$Config['UserFilesPath'] = '/UserFiles/' ;作相同的设置。

赶快测试一下吧,是不是很激动,终于可以看到这个强大年夜的编辑器了,呵呵。不过,顿时你会发明在上传以中文命名的文件时会呈现乱码,这到底是怎么回事呢?呵呵,不怕,下面我们就对其进行简单改动问题很快就办理的:

我们为上传文件以光阴+随机数作为其新名字,打开:editorfilemanageruploadphpupload.php,找到:

调换为:

哈哈,你会发明“快速上传”的乱码已包揽理,就这么简单,痛快之余不要忘了,同样,还必要改动“浏览”的上传,改动文件:editorfilemanagerbrowserdefaultconnectorsphpcommands.php,改动内容同上。

另:你上传的中文文件不做以上命名改动可能在办事器上并非乱码,假如你只是为了在浏览的时刻让编辑器精确显示该类文件名,那你可以作如下改动,打开:editorfilemanagerbrowserdefaultconnectorsphputil.php,改动ConvertToXmlAttribute函数,将:

return utf8_encode( htmlspecialchars( $value ) ) ;

改动为:

return iconv( "GBK", "UTF-8", htmlspecialchars($value) ) ;

//必要php的 iconv模块支持

这样,你的编辑器应该已经能精确显示中文名,不过强烈建议你改动上传文件的命名,中文名可能存在诸多不便。

第二步,在文件的js代码区中加入:

// add by jayliaoscu @ 2007-04-23    /*{{{{*/

// 显示文件显示层

function showDiv( fileUrl )

{

var name    = fileUrl;

//获取文件类型

var suffix    = name.substring(name.lastIndexOf(".")+1);

var div= document.getElementById("showFile");

div.content        = "";

div.style.position    = "absolute";

div.content        += "

关闭

删除 ";

if (suffix=='gif' || suffix=="jpg" || suffix=="jpeg" || suffix=="bmp" || suffix=="png")

{

div.content    += "

250) this.width=250' style='margin:3px;'>";

}

else

{

div.content    += "

该类型不能预览";

}

div.content    += "";

div.innerHTML    = div.content;

div.style.display    = "";

div.style.top        = event.y+document.body.scrollTop+10;

div.style.left        = event.x+document.body.scrollLeft+30;

}

// 暗藏文件显示层

function hiddenDiv()

{

var div= document.getElementById("showFile");

div.style.display ="none";

}

// 在iframe中删除文件

function delFile( fileUrl )

{

if(!confirm('你确定删除该文件?'))

return;

var url    = '/fckeditor/del_file.php?filePath='+ fileUrl;

window.open(url, "iframe_del");

Refresh();

}

///*}}}*/

着末,增添一个文件删除页面del_file.php(该文件路径和增添的js函数delFile(fileUrl)中的调用同等),感化为删除文件,给出成功与否的操作提示,参考代码:

至此,我对付fckeditor的改动基础完成,当然这些改动只是对fckeditor改动应用的抛砖引玉,给大年夜家一个参考,盼望对初学者有所赞助。后面对编辑器的改动历程对照慌忙,并未改动一步完成一步文档书写,以是,难免有所掉足,瞥见谅,假如你有什么问题和差错发明迎接联系我相互评论争论,合营进步,呵呵。

另附:

设置设置设备摆设摆设文件(fckconfig.js)中主要设置设置设备摆设摆设项目如下,根据自己看环境设置设置设备摆设摆设:

FCKConfig.CustomConfigurationsPath = '' ;    // 自定义设置设置设备摆设摆设文件路径和名称

FCKConfig.EditorAreaCSS = FCKConfig.BasePath + 'css/fck_editorarea.css';    // 编辑区的样式表文件

FCKConfig.BaseHref = '';            // 相对链接的基地址

FCKConfig.Debug = true/false;        // 是否开启调试功能,当调用FCKDebug.Output()时,会在调试窗中输出内容

FCKConfig.SkinPath = FCKConfig.BasePath + 'skins/default/';    // 设置皮肤

FCKConfig.AutoDetectLanguage = true/false ;    // 是否自动检测说话

FCKConfig.DefaultLanguage = 'zh-cn' ;    // 设置默认说话

FCKConfig.ContentLangDirection = 'ltr/rtr';    // 默认翰墨偏向,ltr左,rtr右

FCKConfig.FillEmptyBlocks = true/false ;    // 应用这个功能,可以将空的块级元素用空格来替代

FCKConfig.FormatSource = true/false;        // 切换到代码视图时,是否自动款式化代码

FCKConfig.FormatOutput = true/false;        // 当输出内容时是否自动款式化代码

FCKConfig.FormatIndentator = "";        // 当在“源码款式”下缩进代码应用的字符

FCKConfig.GeckoUseSPAN = true/false;        // 是否容许SPAN标记住代B,I,U标记

FCKConfig.StartupFocus = true/false;        // 开启时是否FOCUS到编辑器

FCKConfig.ForcePasteAsPlainText = true/false;// 强制粘贴为纯文本

FCKConfig.ForceSimpleAmpersand = true/false;    // 是否不把&符号转换为XML实体

FCKConfig.TabSpaces = 0/1;            // TAB是否有效

FCKConfig.TabSpaces = 4;            // TAB键孕育发生的空格字符数

FCKConfig.ShowBorders = true/false;        // 是否合并边框

FCKConfig.ToolbarStartExpanded = true/false;    // 页面载入时,对象栏是否展开,点“展开对象栏”时才呈现

FCKConfig.ToolBarCanCollapse = true/false;    // 是否容许展开折叠对象栏

FCKConfig.ToolbarSets = object ;        // 编辑器的对象栏,可以自行定义,删减,可参考已存在对象栏

FCKConfig.EnterMode = 'p';            // 编辑器中直接回车,在代码中天生,可选为p | div | br

FCKConfig.ShiftEnterMode = 'br';        // 编辑器中Shift+回车,在代码中天生,可选为p | div | br

FCKConfig.ContextMenu = 字符串数组;        // 右键菜单的内容

FCKConfig.FontColors = "";            // 翰墨颜色列表

FCKConfig.FontNames = "";            // 字体列表

FCKConfig.FontSizes = "";            // 字号列表

FCKConfig.FontFormats = "";            // 翰墨款式列表

FCKConfig.StylesXmlPath = "";        // CSS样式列表的XML文件的位置

FCKConfig.TemplatesXmlPath    = "";        // 模版的XML文件位置

FCKConfig.SpellChecker = "ieSpell/Spellerpages";    // 拼写反省器

FCKConfig.IeSpellDownloadUrl = "";            // 下载拼写反省器的网址

FCKConfig.SmileyPath    = FCKConfig.BasePath + 'images/smiley/msn/';    // 神色文件寄放路径

FCKConfig.SmileyImages = '';            // 神色文件名称列表,详细参考默认设置

FCKConfig.SmileyColumns = 8;            // 神色窗口显示神色列数

FCKConfig.SmileyWindowWidth = 320;        // 神色窗口显示宽度,此窗口会由于神色文件的改变而作调剂

FCKConfig.SmileyWindowHeight    = 240;        // 神色窗口显示高度,此窗口会由于神色文件的改变而作调剂

FCKConfig.FullPage = true/false;        // 是否容许编辑全部HTML文件,照样仅容许编辑BODY间的内容

您可能还会对下面的文章感兴趣: