`

ThinkPHP和FCKeditor编辑器的完美结合

阅读更多

应用步骤:

1、下载FCKeditor2.x版本,将解压后的文件夹FCKeditor复制到ThinkPHP文件夹下的Vendor目录下,以便符合 THinkPHP的第三方类库引入规则。

2、修改参数:

首先,用EditPlus等软件打开FCKeditor目录下的fckeditor_php5.php文件,找到第130行。出现内容如下:

public function __construct( $instanceName )

{$this->InstanceName = $instanceName ;

$this->BasePath= ‘ ‘ ;

$this->Width = ‘900′;

$this->Height = ‘400′;

$this->ToolbarSet = ‘Default’ ;

$this->Value = ‘ ’;

$this->Config = array() ;

}

public function __construct( $instanceName )
{
$this->InstanceName = $instanceName ;
$this->BasePath = ‘/bm/ThinkPHP/Vendor/FCKeditor/’ ;
$this->Width = ‘900′;
$this->Height = ‘400′;
$this->ToolbarSet = ‘Default’ ;
$this->Value = ”;

其中,最关键的就是将Basepath设置好。里面填写的就是fckeditor_php5.php文件相对于网站文档根目录(document root)的路径。其实这就是用以表征FCKeditor编辑器相对根目录的路径。比如服务器的文档根目录最下级是htdocs/或www/,项目名为 project,project项目文件夹下有Thinkphp系统文件包与项目文件包myapp。而且服务器没有对该项目设置虚拟主机的话,此时的文档 根目录仍是www/或htdocs/,那么应该是$this->BasePath=’/project/ThinPHP/Vendor /FCKeditor/’;

若是设置了虚拟主机,即将project变为虚拟的文档根目录,通过某一域名能够直接访问网站项目的话,那么此时,

$this->BasePath=’/ThinPHP/Vendor/FCKeditor/’;

其他的参数如宽度与高度可以填或不填,若填下的话就是编辑器的默认高与宽。InstanceName是编辑器所在标签的id与name,此时不用理 会。其他参数也不用理会。

其次,在FCKeditor\editor\filemanager\connectors\php\下面找到config.php文件,打开它, 找到30与34行。需要改写的参数如下:$Config['Enabled'] = true ;

$Config['UserFilesPath'] = ‘ ’ ;

其中,第一个参数应该设为true.默认是true.第二个参数填写的是上传文件的路径,比如要显示的图片等。我们在project目录下建立一个 uploads文件夹,那么$Config['UserFilesPath'] = ‘ /project/uploads/ ‘;路径规则与上一个basepath一样。要是project是虚拟文档根目录的话,那么$Config['UserFilesPath'] = ‘ /uploads/ ‘;

3、应用程序:

比如在myapp项目中Lib目录下IndexAction.class.php控制器类中的index方法中,当访问该程序时,输出的模板网页里 有form表单,要求用户输入一篇文章,那么就可以用到编辑器.代码示例如下,只显示与fckeditor有关的代码,其他代码会略。

首先是服务器程序:

public function index()

{……//其他代码

vendor(”FCKeditor.fckeditor”);//包含FCKeditor类库,TP引入第三方类库的系统方法,其路径是相对于 vendor目录来说的。

$editor= new FCKeditor(); //实例化FCKeditor对象

$editor->Width=’980′;//设置编辑器实际需要的宽度。此项省略的话,会使用默认的宽度。

$editor->Height=’400′;//设置编辑器实际需要的高度。此项省略的话,会使用默认的高度。

$this->Value=”;//设置编辑器初始值。也可以是修改数据时的设定值。可以置空。

$editor->InstanceName=’comment’;//设置编辑器所在表单内输入标签的id与name,即< input>标签的id与name。此处假 //设为comment.此处不可省,也要保持唯一性。表单上传到服务器处理程序后,即可通过$_POST['comment']来读取。

$html=$editor->Createhtml();//创建在线编辑器html代码字符串,并赋值给字符串变量$html.

$this->assign(’html’,$html);//将$html的值赋给模板变量$html.在模板里通过{$html}可以直 接引用。

…….//其他代码,包括输出模板。

}

其次是对应的html模板即index 文件。只需要在需要的地方插入编辑器即可,其他代码与一般的<form>写法一样。

…….<!–其他html代码 –>

<div>

<form id=”commentform” name=”commentform” action=”">//action里填写表单处理程序,如’__APP__/Index/check’。 指的是IndexAction类下的check()方法来处理提交的表单数据。

<table style=”width:100%;”>

<tr>

<td style=”text-align:left;”>添加新评论:

</td>

</tr>

……//其他表单填写项

<tr>

<td > {$html}</td>

</tr>

<tr>

<td><input type=”submit” value=”提交评论” >

</td>

</tr>

</table>

</form>

</div>

分享到:
评论

相关推荐

    ThinkPHP中FCKeditor编辑器的使用

    ThinkPHP中FCKeditor编辑器的使用 前段时间一直为TP寻找好用的在线编辑器而苦恼,经过多次尝试与修改后,终于成功地将编辑器集成到Thinkphp里面。 而且可以用直接上传和ajax两种方式处理内容。为了给一些还没能成功...

    thinkphp中fckeditor

    2. 在需要使用富文本编辑器的视图文件中,引入FCKeditor的相关JS和CSS资源。 3. 初始化FCKeditor实例,配置图片上传路径为ThinkPHP的控制器方法,该方法负责处理图片上传并返回URL。 对于FCKeditor远程保存图片的...

    ThinkPHP中FCKeditor编辑器的使用方法

    综上所述,集成FCKeditor编辑器到ThinkPHP框架中,需要遵循一定的步骤和配置规则。首先是在服务器端和PHP环境上的准备工作,然后是编辑器配置文件的修改,最后是在ThinkPHP的模板中使用编辑器。通过这个过程,可以...

    小迪第九期渗透培训

    - **编辑器漏洞**:包括 eWebEditor 和 FCKeditor 等编辑器的漏洞类型及利用方法。 - **漏洞测试**:通过实际操作验证编辑器存在的安全问题。 #### 五、跨站脚本攻击(XSS) - **XSS 攻击**:学习如何利用 XSS ...

    php课程(共100多节)

    31:PHP在线编辑器fckeditor应用 32:PHP5中Cookie与 Session详解 33:PHP5中图片验证码的制作(上) 34:PHP5中图片中文验证码(下) 35:PHP5文字图片混合水印与缩略图 36:PHP中正则表达式学习及应用(一) 37:...

    php100视频原始地址列表整理.doc

    - **知识点**: FCKeditor是一款功能强大的在线富文本编辑器。本节介绍了如何集成FCKeditor到PHP项目中。 - **学习目标**: 学会使用FCKeditor增强用户的编辑体验。 #### 32. PHP5中Cookie与Session详解 - **知识点**...

    PHP100视频教程全集112集BT种子【PHP经典】

    PHP100视频教程31:PHP在线编辑器fckeditor应用 PHP100视频教程32:PHP5中Cookie与 Session详解 PHP100视频教程33:PHP5中图片验证码的制作(上) PHP100视频教程34:PHP5中图片中文验证码(下) PHP100视频教程...

    php 删除记录同时删除图片文件的实现代码

    - PHP实现给fckeditor文本编辑器增加图片删除功能 - 简单PHP上传图片、删除图片实现代码 - PHP实现上传多图即时显示与即时删除的方法 以上这些文章提供了更多关于PHP图片处理和文件管理的实用技巧,可以帮助你在...

Global site tag (gtag.js) - Google Analytics