网站地图    收藏   

主页 > php专栏 > php应用 >

CKEditor整合ckfinder实现图片上传 - php高级应用

来源:自学PHP网    时间:2014-11-27 22:16 作者: 阅读:

[导读] 搞了半天终于把CKEditor搞了个明明白白,配合ckfinder实现了图片的上传,具体步骤给需要的同志们.1、建立项目ckeditor,将ckeditor和ckfinder解压缩放到项目下,两个东东的下载地址分别为:ckeditor...

CKEditor整合ckfinder实现图片上传

搞了半天终于把CKEditor搞了个明明白白,配合ckfinder实现了图片的上传,具体步骤给需要的同志们.

1、建立项目ckeditor,将ckeditor和ckfinder解压缩放到项目下,两个东东的下载地址分别为:

ckeditor:http://ckeditor.com/download/

ckfinder:http://ckfinder.com/download

项目目录结构为:

ckeditor

---ckeditor

--ckfinder

--test.php 用来测试的PHP文件

2、找到ckfinder目录下的config.php文件打开

1)定位到CheckAuthentication方法,默认此方法只有返回值false,这样是不允许上传文件到服务器的,需要将其进行修改,函数内已经用英文注明,不建议直接改为false,因为那样会不安全,什么都会上传了,所以用session来处理一下,就成了下面的样子,代码如下:

  1. session_start(); 
  2.  
  3. function CheckAuthentication() 
  4. //开源代码phpfensi.com 
  5. {  
  6.  
  7.     if(isset($_SESSION['UseEditor']))//这个随便命名就可以了 
  8.  
  9.     return true; 
  10.  
  11.     else 
  12.  
  13.     return false; 
  14.  

2) 配置上传文件位置.

默认ckfinder会把上传文件放到根目录下的ckfinder/userfiles/images文件夹下,我们可以修改成自己的项目目录下,在项目下建立upfiles文件夹,在config.php中找到baseUrl并且修改为如下代码:

$baseUrl = '/ckeditor/upfiles/';

这样上传文件会保存到upfiles下的images文件夹,当然,你也可以根据需要设置不同的上传文件夹,至于怎么传值给他以判断上传文件夹,当然是通过session了.

3、修改上传文件名,默认系统以原有名字命名,所以我们重新命名文件,方法为:打开ckfinder/coreconnectorphp/php5/CommandHandler下FileUpload.php文件,找到    $sUnsafeFileName 后面加上重命名代码,如下:

  1. $sUnsafeFileName = CKFinder_Connector_Utils_FileSystem::convertToFilesystemEncoding(CKFinder_Connector_Utils_Misc::mbBasename($uploadedFile['name'])); 
  2.  
  3. //先获取原文件后缀 
  4.  
  5. $sExtension=CKFinder_Connector_Utils_FileSystem::getExtension($sUnsafeFileName); 
  6.  
  7. //重新命名文件 
  8.  
  9. $sUnsafeFileName=date('YmdHis').'.'.$sExtension

4、最后在test.php中使用ckfinder,代码如下:

  1. session_start(); 
  2.  
  3. $_SESSION[‘UseEditor’]=’ok’;//一定别忘记这个哦,否则没法上传 
  4.  
  5. include_once('ckeditor/ckeditor.php'); 
  6.  
  7.    include_once('ckfinder/ckfinder.php'); 
  8.  
  9.    $fc = new CKEditor(); 
  10.  
  11.    CKFinder::SetupCKEditor($fc,'./ckfinder/'); 
  12.  
  13. $fc->editor("content""<p>Initial value.</p>");

自学PHP网专注网站建设学习,PHP程序学习,平面设计学习,以及操作系统学习

京ICP备14009008号-1@版权所有www.zixuephp.com

网站声明:本站所有视频,教程都由网友上传,站长收集和分享给大家学习使用,如由牵扯版权问题请联系站长邮箱904561283@qq.com

添加评论