加入收藏 | 设为首页 | 会员中心 | 我要投稿 鄂州站长网 (https://www.0711zz.com.cn/)- 云通信、区块链、物联平台、操作系统、高性能计算!
当前位置: 首页 > 站长学院 > PHP教程 > 正文

PHP中Ckeditor+Ckfinder配置图片上传功能

发布时间:2022-07-18 10:08:23 所属栏目:PHP教程 来源:互联网
导读:从标题来看我们知道Ckeditor不支持图片上传功能,它是需要一个组件Ckfinder才可以支持上传图片,本文章就来详细的介绍了如何配置Ckeditor+Ckfinder实现图片上传的功能。 第一:安装配置CKEditor 在扩展CKfinder实现图片上传之前,我们先把最基本的CKeditor编辑器
  从标题来看我们知道Ckeditor不支持图片上传功能,它是需要一个组件Ckfinder才可以支持上传图片,本文章就来详细的介绍了如何配置Ckeditor+Ckfinder实现图片上传的功能。
 
  第一:安装配置CKEditor
 
  在扩展CKfinder实现图片上传之前,我们先把最基本的CKeditor编辑器安装一下,将下载的ckeditor_3.4.2.zip解压,复制目录下的ckeditor文件夹至所需目录,如/admin/。
 
  (1)、安装配置CKEditor,可改/admin/ckeditor/ckeditor.js来配置编辑器,如字体、背景色、语言、界面高宽、编辑器按钮分布等,代码如下:
 
  config.language = 'en';
  config.skin = 'v2';
  config.uiColor = '#AADC6E';
  config.toolbar = 'Basic';
  ….
  (2)、官方的demo大多都喜欢用js配置editor区域,习惯写php的我就嫌麻烦,只好看内置的php类,代码如下:
 
  require_once ROOTPATH . "ckeditor/ckeditor.php";
  $CKEditor = new CKEditor();
  $CKEditor->returnOutput = true; //设置输出可用变量的情况
  $CKEditor->basePath = '/ckeditor/';//设置路径
  $contentarea =  $CKEditor->editor("content", $rs['contents']); //生成一个以name为content的
  textarea
  echo $contentarea;
  页面引用CKeditor,关键代码如下
 
  <script type="text/javascript" src="ckeditor/ckeditor.js"></script>
  <textarea cols="80" name="content" rows="10"></textarea>
  第二步:我们来配置安装CKfinder
  CKfinder是官方组件,下载地址如下:http://ckfinder.com/download (注意:与ckeditor不是同一网站)。
 
  (1),将下载的ckfinder_php_2.0.1.zip 解压,复制目录下的ckfinder文件夹至编辑器目录,/admin/ckeditor。
 
  (2),需要上传了,只好加入ckfinder,把ckfinder和ckeditor放在同级目录下。
 
  打开/ckfinder/config.php,首先设置第一个函数CheckAuthentication(),这个函数需要按照自己的规则写,只要return,true的情况才能允许上传文件到服务器的,当然不建议直接写return true,这将导致安全问题,可以采用session来处理比较方便。
 
  我们可以简单的把子config.php这样修改,代码如下:
 
  function CheckAuthentication()
  {
  return false;//改为return false
  }
  或者更安全的做法利用 session,代码如下:
 
  session_start();
  function CheckAuthentication(){
      if(isset($_SESSION['UseEidtor']))
          return true;
      else
           return  false;
  }
  找到”$baseUrl”,这个变量定义了ckfinder文件上传的目录,将值设为”$baseurl='../data /',文件上传后程序他会在此目录下自动建立相应的文件夹如image、flash等。
 
  第三步:整合,实现图片上传功能
 
  1.在编辑器页面头部引用ckfinder.js文件,代码如下:
 
  <script type="text/javascript" src="ckeditor/ckfinder/ckfinder.js"></script>
 
  下面介绍调用方法,最后就是使用ckfinder,代码如下:
 
  require_once ROOTPATH . "ckeditor/ckeditor.php";
      require_once ROOTPATH . 'ckfinder/ckfinder.php' ;
       
       $CKEditor  = new  CKEditor();
      $CKEditor->returnOutput = true;
      $CKEditor->basePath = '/ckeditor/';
   
      CKFinder::SetupCKEditor($CKEditor, '/ckfinder/') ;//注意这里是相对路径,相对于根目录,
  不能用绝对路径
   
      $contentarea =  $CKEditor->editor("content", $rs['contents']);
  另一种js或html页面的修改,代码如下:
 
  <script type="text/javascript">
  CKEDITOR.replace( 'editor1',
  {
  filebrowserBrowseUrl : 'ckeditor/ckfinder/ckfinder.html',
  filebrowserImageBrowseUrl : 'ckeditor/ckfinder/ckfinder.html?Type=Images',
  filebrowserFlashBrowseUrl : 'ckeditor/ckfinder/ckfinder.html?Type=Flash',
  filebrowserUploadUrl : 'ckeditor/ckfinder/core/connector/php/connector.php?
  command=QuickUpload&type=Files',
  filebrowserImageUploadUrl : 'ckeditor/ckfinder/core/connector/php/connector.php?
  command=QuickUpload&type=Images',
  filebrowserFlashUploadUrl : 'ckeditor/ckfinder/core/connector/php/connector.php?
  command=QuickUpload&type=Flash'
  });
  </script>
  这样就大功告成了,有想知道Ckeditor Ckfinder配置图片上传功能支持javascript html和php调用的朋友可以参考一下本教程.

(编辑:鄂州站长网)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    热点阅读