搞了半天終于把CKEditor搞了個明明白白,配合ckfinder實現(xiàn)了圖片的上傳,具體步驟給需要的同志們.
1、建立項目ckeditor,將ckeditor和ckfinder解壓縮放到項目下,兩個東東的下載地址分別為:
ckeditor:http://ckeditor.com/download/
ckfinder:http://ckfinder.com/download
項目目錄結(jié)構(gòu)為:
ckeditor
---ckeditor
--ckfinder
--test.php 用來測試的PHP文件
2、找到ckfinder目錄下的config.php文件打開
1)定位到CheckAuthentication方法,默認此方法只有返回值false,這樣是不允許上傳文件到服務(wù)器的,需要將其進行修改,函數(shù)內(nèi)已經(jīng)用英文注明,不建議直接改為false,因為那樣會不安全,什么都會上傳了,所以用session來處理一下,就成了下面的樣子,代碼如下:
- session_start();
- function CheckAuthentication()
- //開源代碼Vevb.com
- {
- if(isset($_SESSION['UseEditor']))//這個隨便命名就可以了
- return true;
- else
- return false;
- }
2) 配置上傳文件位置.
默認ckfinder會把上傳文件放到根目錄下的ckfinder/userfiles/images文件夾下,我們可以修改成自己的項目目錄下,在項目下建立upfiles文件夾,在config.php中找到baseUrl并且修改為如下代碼:
$baseUrl = '/ckeditor/upfiles/';
這樣上傳文件會保存到upfiles下的images文件夾,當然,你也可以根據(jù)需要設(shè)置不同的上傳文件夾,至于怎么傳值給他以判斷上傳文件夾,當然是通過session了.
3、修改上傳文件名,默認系統(tǒng)以原有名字命名,所以我們重新命名文件,方法為:打開ckfinder/coreconnectorphp/php5/CommandHandler下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>");
新聞熱點
疑難解答