[CakePHP] 如何在cakephp下使用ckeditor和ckfinder上传文件

ckeditor本身是没有上传文件功能的,它里面所谓的上传设置是没有用的(应该就是这样啦)
 
 
下载 ckeditor,ckfinder,分别将它们放在 /cakeapp/app/webroot/js里面,现在有如下文件夹
 
/cakeapp/app/webroot/js/ckeditor/
/cakeapp/app/webroot/js/ckfinder/
 
第一,配置ckfinder,
打开 ckfinder/config.php,
1. 找到 function CheckAuthentication(),这个函数是用来配置验证的,现修改如下,
function CheckAuthentication()
{
//if( isset($_SESSION['Auth']['User']) )
//{
//     return true;
//}
//return false;
return true;
}
注释代码是,验证cakephp用户的,这里为了简便,直接return true
 
2. 找到 $baseUrl = '/userfiles/' ,将其修改为自己的上传目录,以我的为例,我上传的文件是放在upload里面的
$baseUrl = '/cakeapp/app/webroot/upload/';
记得后面还有个   /   。
 
3. 使用cakephp的session,
在文件的最开始处,也就是在 <?php 后面,加入下面的代码,
// Start CakePHP Session
session_name(”CAKEPHP”);
session_start();
 
 
 第二,在页面加载所需文件,
<?php echo $javascript->link('ckeditor/ckeditor', false);?>
<?php echo $javascript->link('ckfinder/ckfinder', false);?>
 
第三,配置javascript
<?php echo $form->create("Config", array("action"=>"add"));?>
<?php echo $form->textarea("Config.content")?>
<?php echo $form->end("submit");?>
<script type="text/javascript"> 
var ck = CKEDITOR.replace('ConfigContent');
CKFinder.SetupCKEditor(ck, '<?php echo $this->base;?>/js/ckfinder/');
</script>
 
 
至此,如无意外的话,刷新页面,就可以看到想要的东西了。
 
不过,写在后面,ckeditor是免费的,但是ckfinder不是免费的,至于如何破解,问问google和百度吧~~~
posted @ 2010-04-21 11:07  DavidHHuan  阅读(1360)  评论(0编辑  收藏  举报