phpcms2008将文本编辑器fckeditor更换为ckeditor和ckfinder
2014-05-23 14:37:00

phpcms2008将文本编辑器fckeditor更换为ckeditor的步骤如下:
 

一、下载ckeditor

二、将ckeditor放到网站的根目录下

三、修改include/form.class.php文件,修改editor函数,从第7行开始,定义了3个$str变量,将中间的一个$str变量删除,将第一个$str变量改为如下的代码:

$str = "<script type=\"text/javascript\" src=\"ckeditor/ckeditor.js\"></script> <script language=\"JavaScript\" type=\"text/JavaScript\">CKEDITOR.replace( '".$textareaid."' );";

现在,原来的Fckeditor编辑器就变成了ckeditor编辑器。

到了这里,ckeditor编辑器已经可以用了,但是有一个问题,那就是现在的ckeditor无法上传图片,这是不能允许的。所以,需要下载ckfinder,用于上传图片。步骤如下:

1、下载ckfinder

2、将ckfinder放在网站根目录下

3、修改include/form.class.php文件,同上,也要修改$str参数,修改后的参数如下:

$str = "<script type=\"text/javascript\" src=\"ckeditor/ckeditor.js\"></script> <script type=\"text/javascript\" src=\"ckfinder/ckfinder.js\"></script> <script language=\"JavaScript\" type=\"text/JavaScript\">CKEDITOR.replace( '".$textareaid."',{filebrowserBrowseUrl:'/phpcms2008/ckfinder/ckfinder.html',filebrowserImageBrowseUrl:'/phpcms2008/ckfinder/ckfinder.html?Type=Images',filebrowserFlashBrowseUrl:'/phpcms2008/ckfinder/ckfinder.html?Type=Flash',filebrowserUploadUrl:'/phpcms2008/ckfinder/core/connector/php/connector.php?command=QuickUpload&type=Files',filebrowserImageUploadUrl:'/phpcms2008/ckfinder/core/connector/php/connector.php?command=QuickUpload&type=Images',filebrowserFlashUploadUrl : '/phpcms2008/ckfinder/core/connector/php/connector.php?command=QuickUpload&type=Flash'});";

这里要注意,我使用的本机绝对路径,你需要根据自己的情况修改成自己的目录,才可以正常运行。

现在再试试,已经可以上传图片。

ckeditor+ckfinder 上传图片的功能后怎样自定义图片的保存路径和名称呢!接下来就解决这个问题

找到\ckfinder\core\connector\php\php5\CommandHandler\FileUpload.php 文件 第136行
$sServerDir = $this->_currentFolder->getServerPath() 在后面加上

 
 /* 以年月日为目录 */
if (in_array($sExtension, array('png','gif','jpg','bmp')))
{ $dateFolder = '/'.date('Ymd').'/';
$sServerDir = $sServerDir.$dateFolder;
if (!file_exists($sServerDir)) mkdir($sServerDir, 0777);
list($xx,$imageTimeName) = explode('.', microtime(true));
$sFileName = date('YmdHis').$imageTimeName.'.'.$sExtension;
$oRegistry->set("FileUpload_fileName", $sFileName);
//修改后的名字上传成功后返回给JS调用
$oRegistry->set("FileUpload_url", $this->_currentFolder->getUrl().$dateFolder);
//修改后的路径上传成功后返回给JS调用
}

 
 /* 这样图片上传后就可以看到这个路径啦,年月日前面的路径怎么改呢,这个时候,我们要修改 \ckfinder\config.php文件 */
在65或者66行,找到默认路径$baseUrl = '/ckfinder/userfiles/';
把他改成你想要的路径比如改为$baseUrl = '/abc/def/';
下面图片的保存路径就是这个啦 改了这个地方还有一个问题就是中间会有一个image目录,
那怎么去掉这个目录呢 把\ckfinder\config.php文件下200行下面的代码中的两个 . 'images' 去掉。改变后的代码如下。
$config['ResourceType'][] = Array(
'name' => 'Images',
'url' => $baseUrl,
'directory' => $baseDir,
'maxSize' => 0,
'allowedExtensions' => 'bmp,gif,jpeg,jpg,png',
'deniedExtensions' => '');
保存就可以啦。 这样保存出来的目录就是abc/def/年月日/月年日时分秒.扩展名;当然你可以改成你要想的路径