文章详情

  • 游戏榜单
  • 软件榜单
关闭导航
热搜榜
热门下载
热门标签
php爱好者> php文档>转:php下fckeditor 2.6.6的使用和配置...

转:php下fckeditor 2.6.6的使用和配置...

时间:2010-08-11  来源:millia

一、下载

1、首先去官网下载FCKeditor2.6.6 多国语言版(可以搜索“FCKeditor 2.6.6, released on 15 February 2010”)。下载地址: http://ckeditor.com/download。

二、精简

按照如下步骤删除其中一些不需要的测试文件:

1.只保留/fckeditor/目录下的fckconfig.js(配置文件)、fckeditor.js(js方式调用文件)、fckeditor.php(php方式调用文件)、fckeditor_php4.php(php4的调用文件)、fckeditor_php5.php(php5的调用文件)、fckstyles.xml(样式)、fcktemplates.xml(模板)文件和editor文件夹七个文件以外的所有文件;

2.删除目录/editor/_source(基本上,所有_开头的文件夹或文件都是可选的);

3.删除/editor/filemanager/connectors/(存放编辑器所支持的Web动态语言)下除了php目录的所有目录;

4.删除/editor/lang/(存放的是多语言配置文件)下的除了 en.js, zh.js, zh-cn.js三个文件的所有文件。

三、设置

1.更改默认语言和编程语言:

打开/fckeditor/fckconfig.js ;(千万注意这个文件是utf-8编码,我第一次编辑的时候保存成了ANSI格式结果出错了,找了好长时间原因)修改->

FCKConfig.AutoDetectLanguage =false;(使其不能根据系统语言自动检测加载相应的语言。)

FCKConfig.DefaultLanguage = ‘zh-cn’ ;

var _FileBrowserLanguage = ‘php’ ;

var _QuickUploadLanguage = ‘php’ ;

2.开启文件上传的功能:

配置editor\filemanager\connectors\php\config.php

将$Config['Enabled'] = false ;改为$Config['Enabled'] = true ;

更改$Config['UserFilesPath'] = ‘/userfiles/’ ;为你的上传目录(注意:这个目录要存在——自己创建好);

注意:这个目录是相对于主目录的。 也就是说,这个目录是相对于根目录的,注意,如果你在本机上测试,那么,这个根目录就是 http://localhost 。

四、调用

可以按下面的例子在php(例子中的PHP文件放在网站的子目录中)中调用fckeditor编辑器:

include(”../fckeditor/fckeditor.php”);    // 包含fckeditor类,fckeditor目录放在网站根目录下

$BasePath = “/fckeditor/”;      // 编辑器路径

$oFCKeditor = new FCKeditor(’CreMer’);    // 创建一个fckeditor对象,表单的名称为CreMer

$oFCKeditor->BasePath  = $BasePath;

$oFCKeditor->Value  = ‘test’;     // 设置表单初始值

// 还可设置以下部分(“=”包含部分),并非必须:

//====================================================================//

$oFCKeditor->Width = ‘800′;      // 编辑器宽度,类中有默认值,如果不想修改可不管此项

$oFCKeditor->Height= ‘300′;       // 同width,此处为高$oFCKeditor->ToolbarSet

$oFCKeditor->ToolbarSet = ‘Basic’;        // 默认编辑器工具栏有Basic(基本工具)和Default(所有工具)两种选择,另外还可以自己建立工具栏

$oFCKeditor->Config['SkinPath'] = ‘/fckeditor/editor/skins/silver/’;      // 设置编辑器皮肤

//====================================================================//

$oFCKeditor->Create();      // 调用类中方法,必须用$_POST['CreMer']就能获取文本框里面的值。

说明:

include(”../fckeditor/fckeditor.php”) ;  //引入fckeditor类 注意fckeditor_php5.php或4中class声明的类名称

$sBasePath = “fckeditor/”;   //设置编辑器路径fckeditor文件夹下

$oFCKeditor = new FCKeditor(’content’) ;   //创建一个Fckeditor对象,其中content为表单输入内容变量.对应$_POST[content];

$oFCKeditor->BasePath = $sBasePath ;

$oFCKeditor->Value = ‘This is some <strong>sample text</strong>’ ;   //设置表单初始值

$oFCKeditor->Create() ;

$oFCKeditor->Width   //设置长宽

$oFCKeditor->Height

$oFCKeditor->ToolbarSet

五、其他例子

关于上传图片大小的问题,控制大小,让宽度固定,高度随原先的比例缩小或者放大。

在fckeditor\editor\dialog\fck_image\fck_image.js 

找到 

Js代码 

GetE('txtWidth').value = oImageOriginal.width ;   

GetE('txtHeight').value = oImageOriginal.height ;   

调整为:

Js代码 

if ( oImageOriginal.width < 450 ) {   

   GetE('txtWidth').value = oImageOriginal.width ;   

   GetE('txtHeight').value = oImageOriginal.height ;   

} else {   

   GetE('txtWidth').value = 450 ;   

   GetE('txtHeight').value = 450 * oImageOriginal.height / oImageOriginal.width ;   

}  

六、其他技巧

1.修改工具栏按钮:

这样做主要是为了提高安全性,减少一般用户可以使用的功能:

FCKConfig.ToolbarSets["MyStyle"] = [

['Source','Preview','FitWindow','-','Templates'],

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

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

['ShowBlocks'],

‘/’,

['Bold','Italic','Underline','StrikeThrough','TextColor','BGColor'],

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

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

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

‘/’,

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

    // No comma for the last row.

] ;

或者更改

FCKConfig.ToolbarSets["Basic"] = [

  ['Bold','Italic','-','OrderedList','UnorderedList','-','Link','Unlink','Image','-','About']

] ;

在设置后,调用时添加这个语句:

$oFCKeditor->ToolbarSet = ‘MyStyle’ ;

2.上传中文名文件时显示乱码怎么办

在文件connectors/php/commands.php中查找:

$sFileName = $oFile['name'] ;

在后面添加一行:

$sFileName = iconv(”utf-8″,”gbk”,$sFileName);

3、修正文件列表时中文文件名显示乱码问题

在文件connectors/php/util.php中查找:

return ( utf8_encode( htmlspecialchars( $value ) ) ) ;

修改为:

return iconv(”,’utf-8′,htmlspecialchars( $value ));

4、修正新建中文文件夹时的文件夹名乱码问题 

在文件connectors/php/commands.php中查找:

$sNewFolderName =

在后面添加一行:

$sNewFolderName = iconv(”utf-8″,”gbk”,$sNewFolderName);

2.6.3版及后续版本的fck下的html文件已经加了utf-8的文件头。

5.给文章添加不同的样式

6、配置皮肤。

“fckeditor\editor\skins\”目录中有default、office2003、silver等风格可供选择。

打开/fckeditor/fckconfig.js ;
修改->FCKConfig.SkinPath = FCKConfig.BasePath + ’skins/default/’ ;

7、在编辑器域内可以使用Tab键。

打开/fckeditor/fckconfig.js ;
修改(1为是,0为否)->FCKConfig.TabSpaces = 0 ; 改为 FCKConfig.TabSpaces = 1 ;

8、加上几种常用的字体:

打开/fckeditor/fckconfig.js ;
修改-> FCKConfig.FontNames = ‘宋体;黑体;隶书;楷体_GB2312;Arial;Comic Sans MS;Courier New;Tahoma;Times New Roman;Verdana’;

9、修改默认的显示字体

可以通过修改样式表来达到要求,打开/editor/css/fck_editorarea.css,修改font-size属性即可。

10、在上传文件窗口点击浏览服务器出错

可能会出现“the server didn’t send back a proper xml…..  ”的错误提示。

因为FCKeditor要求不同类型的文件分别传到不同的目录,包括file,image,falsh,media 等目录,可以先建立起来试试。为PHP正确设置FckEditor文件上传目录,设置后的上传路径效果为: /upfiles/image/2009/06/202112272751.jpg

1.修改fckeditor/editor/filemanager/connectors/php/config.php

1)设置上传路径

$Config['Enabled'] = tr\u000Eue ;

$Config['UserFilesPath'] = '/upfiles/' ;

$Config['UserFilesAbsolutePath'] = $_SERVER['DOCUMENT_ROOT'].$Config['UserFilesPath'];

2)按时间自动生成目录 (如/upfiles/image/2009/06/202112272751.jpg)

$Config['AllowedExtensions']['File'] = array('7z', 'aiff', 'asf', 'avi', 'bmp', 'csv', 'doc', 'fla', 'flv', 'gif', 'gz', 'gzip', 'jpeg', 'jpg', 'mid', 'mov', 'mp3', 'mp4','mpc', 'mpeg', 'mpg', 'ods', 'odt', 'pdf', 'png', 'ppt', 'pxd', 'qt', 'ram', 'rar','rm', 'rmi', 'rmvb', 'rtf', 'sdc', 'sitd', 'swf', 'sxc', 'sxw', 'tar', 'tgz', 'tif', 'tiff', 'txt', 'vsd', 'wav', 'wma', 'wmv',

'xls', 'xml', 'zip') ;

$Config['DeniedExtensions']['File'] = array() ;

$cns_tmp_time= date("Y",time())."/".date("m", time()) ."/";

$Config['FileTypesPath']['File'] = $Config['UserFilesPath'] . 'file/' ;  //这里什么也不添加

$Config['FileTypesAbsolutePath']['File']= ($Config['UserFilesAbsolutePath'] == '') ? '' : $Config['UserFilesAbsolutePath'].'file/' ;  //这里什么也不添加

$Config['QuickUploadPath']['File'] = $Config['UserFilesPath'] .'file/' .$cns_tmp_time ;

$Config['QuickUploadAbsolutePath']['File']= $Config['UserFilesAbsolutePath'].'file/' .$cns_tmp_time ;

$Config['AllowedExtensions']['Image'] = array('bmp','gif','jpeg','jpg','png') ;

$Config['DeniedExtensions']['Image'] = array() ;

$Config['FileTypesPath']['Image'] = $Config['UserFilesPath'] . 'image/' ;

$Config['FileTypesAbsolutePath']['Image']= ($Config['UserFilesAbsolutePath'] == '') ? '' : $Config['UserFilesAbsolutePath'].'image/' ;

$Config['QuickUploadPath']['Image'] = $Config['UserFilesPath'] .'image/' .$cns_tmp_time;

$Config['QuickUploadAbsolutePath']['Image']= $Config['UserFilesAbsolutePath'].'image/' .$cns_tmp_time ;

$Config['AllowedExtensions']['Flash'] = array('swf','flv') ;

$Config['DeniedExtensions']['Flash'] = array() ;

$Config['FileTypesPath']['Flash'] = $Config['UserFilesPath'] . 'flash/' ;

$Config['FileTypesAbsolutePath']['Flash']= ($Config['UserFilesAbsolutePath'] == '') ? '' :$Config['UserFilesAbsolutePath'].'flash/' ;

$Config['QuickUploadPath']['Flash'] = $Config['UserFilesPath'] .'flash/' .$cns_tmp_time;

$Config['QuickUploadAbsolutePath']['Flash']= $Config['UserFilesAbsolutePath'].'flash/' .$cns_tmp_time ;

$Config['AllowedExtensions']['Media'] = array('aiff', 'asf', 'avi', 'bmp', 'fla', 'flv', 'gif', 'jpeg', 'jpg', 'mid', 'mov', 'mp3', 'mp4', 'mpc', 'mpeg', 'mpg', 'png', 'qt', 'ram', 'rm', 'rmi',

'rmvb', 'swf', 'tif', 'tiff', 'wav', 'wma', 'wmv') ;

$Config['DeniedExtensions']['Media'] = array() ;

$Config['FileTypesPath']['Media'] = $Config['UserFilesPath'] . 'media/' ;

$Config['FileTypesAbsolutePath']['Media']= ($Config['UserFilesAbsolutePath'] == '') ? '' : $Config['UserFilesAbsolutePath'].'media/' ;

$Config['QuickUploadPath']['Media'] = $Config['UserFilesPath'] .'media/' .$cns_tmp_time;

$Config['QuickUploadAbsolutePath']['Media']= $Config['UserFilesAbsolutePath'].'media/' .$cns_tmp_time ;

2.修改fckeditor/editor/filemanager/connectors/php/commands.php

1)修改自动生成随机文件名

a)添加函数

function GetRandID($prefix) {   

//第一步:初始化种子
//microtime(); 是个数组

$seedstr =split(" ",microtime(),5);  

$seed =$seedstr[0]*10000;

//第二步:使用种子初始化随机数发生器

srand($seed);

//第三步:生成指定范围内的随机数

$random =rand(1,10000);

$filename = date("dHis", time()).$random.'.'.$prefix;

return $filename;

}

b)应用函数

在函数function FileUpload( $resourceType, $currentFolder, $sCommand ) 中的if ( isset( $Config['SecureImageUploads'] ) ) 上面一行添加$sOriginalFileName = $sFileName = GetRandID($sExtension);

相关阅读 更多 +
排行榜 更多 +
辰域智控app

辰域智控app

系统工具 下载
网医联盟app

网医联盟app

运动健身 下载
汇丰汇选App

汇丰汇选App

金融理财 下载