程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> 網頁編程 >> PHP編程 >> 關於PHP編程 >> CKEditor整合ckfinder實現圖片上傳

CKEditor整合ckfinder實現圖片上傳

編輯:關於PHP編程

搞了半天終於把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來處理一下,就成了下面的樣子

 代碼如下 復制代碼

session_start();

function CheckAuthentication()

    if(isset($_SESSION['UseEditor']))//這個隨便命名就可以了

    return true;

    else

    return false;

}

2) 配置上傳文件位置,

默認ckfinder會把上傳文件放到根目錄下的ckfinder/userfiles/images文件夾下,我們可以修改成自己的項目目錄下,在項目下建立upfiles文件夾,在config.php中找到baseUrl並且修改為:

 代碼如下 復制代碼

$baseUrl = '/ckeditor/upfiles/';

 這樣上傳文件會保存到upfiles下的images文件夾。當然,你也可以根據需要設置不同的上傳文件夾,至於怎麼傳值給他以判斷上傳文件夾,當然是通過session了。

3、修改上傳文件名,默認系統以原有名字命名,所以我們重新命名文件。方法為:打開ckfindercoreconnectorphpphp5CommandHandler下FileUpload.php文件

     找到    $sUnsafeFileName  後面加上重命名代碼,如下:

 代碼如下 復制代碼

$sUnsafeFileName = CKFinder_Connector_Utils_FileSystem::convertToFilesystemEncoding(CKFinder_Connector_Utils_Misc::mbBasename($uploadedFile['name']));

//先獲取原文件後綴

$sExtension=CKFinder_Connector_Utils_FileSystem::getExtension($sUnsafeFileName);

//重新命名文件

$sUnsafeFileName=date('YmdHis').'.'.$sExtension;

 

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

 代碼如下 復制代碼

session_start();

$_SESSION[‘UseEditor’]=’ok’;//一定別忘記這個哦,否則沒法上傳

include_once('ckeditor/ckeditor.php');

   include_once('ckfinder/ckfinder.php');

   $fc = new CKEditor();

   CKFinder::SetupCKEditor($fc,'./ckfinder/');

$fc->editor("content", "<p>Initial value.</p>");


  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved