非法入侵 发表于 2017-4-11 10:01:30

CKFinder(php版)的使用,以及与现有的CKEditor的集成

  第一部分:先决条件
  1,首先确认,已安装了apache和php,并整合了apache和php和tomcat。
  2,在apache中创建虚拟目录
  如在apache配置文件httpd.conf中加上一个虚拟目录
  ############################
  #为文件资源存放 虚拟目录
  Alias /assets "e:/assets"
  <Directory "e:/assets">
  Options Indexes FollowSymLinks MultiViews IncludesNoExec
  AddOutputFilter Includes html
  AllowOverride None
  order allow,deny
  Allow from all
  </Directory>
  3,确认已经集成了CKEditor到项目中了。
  第二部分:搭建单独的CKFinder(php版)
  1,在官网上下载php版的CKFinder,将ckfinder文件夹拷贝到任何apache可以访问到的虚拟目录对应的硬盘路径,是其包含的php文件可以被访问到。
  2,创建一个资源文件夹用以存放我们上传的资源。(确保此文件夹是可写的,此例我们是e:/assets文件件,其虚拟路径是/assets)
  3,编辑ckfinder下的config.php配置文件
  首先找到
  function CheckAuthentication()
  



{   
return true;                                 //此处改为true,这是一个权限验证的函数

  }
  



然后编辑baseUrl,这是ckfinder掌管的资源的url地址,看下面的例子
  




$baseUrl = 'http://example.com/ckfinder/files/';   //绝对URL
$baseUrl = '/userfiles/';                                             //相对URL
本例,我们配置成绝对URL ‘ http://localhost/assets/’

  最后编辑baseDir,这是文件实际存放在硬盘上的地址。
  


$baseDir = 'e:/assets/';
最后说一下baseUrl和baseDir我建议分别写成绝对URL和绝对路径。
baseUrl会在查看图片时使用到,它必须对应是服务器对外公布的一个虚拟目录,因为只有向web公布了的才是URL(资源访问路径),才可以通过浏览器访问到。
baseDir也要和这个URL地址保持一致。

通过http://localhost/assets/ckfinder/_samples/php/standalone.php可以来检查ckfinder是否发布成功
本例因为解压得到的ckfinder文件在assets内所以访问路径是这个。
第三部分:整合CKFinder和CKEditor(以js的形式)
拷贝ckfinder下的ckfinder.js到项目并引入到页面。
页面写入以下js代码替换原来的CKEditor生成代码
$(window).load(
function(){
var editor = CKEDITOR.replace( 'editor' );   //editor就是要替换的元素
CKFinder.setupCKEditor( editor, 'http://localhost/assets/ckfinder/');
//'http://localhost/assets/ckfinder/'就是解压到assets虚拟目录下的ckfinder文件的URL
}
);

  注:如果.setupCKEditor的第一个参数为null则默认,将集成页面上的所有CKEditor
  现在你可以试试原来的CKEditor有什么变化了。
页: [1]
查看完整版本: CKFinder(php版)的使用,以及与现有的CKEditor的集成