在前一篇[筆記] CKEditor內容編輯器安裝說明說明了CKEditor這個內容編輯器的基本安裝方法,在基本的CKEditor中可以從外部的網址匯入圖片,但如果我們想要直接在編輯器中直接搭配上上傳圖片的功能,我們可以怎麼做呢?
只可以使用網址匯入圖片的功能,還沒有辦法上傳圖片
CKFinder
CKFinder是CKSource提供的另一套免費外掛,它可以作為一個管理檔案的後台系統,在這裡我們只是用它最基本的功能,將它和CKEditor做一個簡單的整合,讓CKEditor可以有上傳圖片的功能。
像是範例網站顯示的這樣
STEP:下載CKFinder
CKFinder下載:https://cksource.com/ckfinder/download
選擇所使用的伺服器端程式,並選擇下載,由於我們使用的後端語法是PHP,所以我們就下載PHP版本的CKFinder。
這裡需要注意的是CKFinder對於伺服器端有一些要求,最主要的包括PHP版本必須要是5.4以上的版本,同時需要啟動GDExtention(一般預設是開啟)和Fileinfo extention(一般預設是關閉)的這個擴充,並且要支持JSON MIME type。
STEP:檢驗PHP系統是否支援
首先開啟一個空白的php檔,並輸入以下內容:
<?php if (version_compare(PHP_VERSION, '5.4.0') >= 0) { echo ' [OK] PHP version is newer than 5.4: '.phpversion(); } else { echo ' [ERROR] Your PHP version is too old for CKFinder 3.x.'; } if (!function_exists('gd_info')) { echo ' [ERROR] GD extension is NOT enabled.'; } else { echo ' [OK] GD extension is enabled.'; } if (!function_exists('finfo_file')) { echo ' [ERROR] Fileinfo extension is NOT enabled.'; } else { echo ' [OK] Fileinfo extension is enabled.'; } ?>
如果上述條件都符合的話,應該會看到各個項目都是ok的!
STEP:上傳CKFinder至伺服器
接著在伺服器建立一個CKFinder的資料夾,把剛剛下載的壓縮檔全部上傳上去。
STEP:啟動CKFinder
進入到CKFinder的資料夾中,找到config.php這個檔案,接著尋找下面這一串內容:
$config['authentication'] = function() { return false; };找到之後把裡面的false改成true。
註:這是啟動CKFinder最簡單的方法,但並不是最安全的做法,因為任何權限的會員只要進到這個頁面都可以上傳檔案,其它設定權限的方式可以參考CKFinder關於權限說明的文件。
STEP:變更檔案儲存路徑
config.php這個檔案中,找到下面這段
$config['backends'][] = array( 'name' => 'default', 'adapter' => 'local', 'baseUrl' => '/ckfinder/userfiles/' );這裡的baseUrl可以變更檔案上傳後儲存的路徑。
STEP:整合CKEditor和CKFinder
上面的步驟都完成後,就可以整合CKEditor和CKFinder了,整合的方法非常簡單。
首先,我們一樣在<head></head>中間匯入CKFinder:
<script src="ckfinder/ckfinder.js"></script>
接著,在上一篇:[筆記] CKEditor內容編輯器安裝說明中,我們提到要叫出CKEditor只需要在網頁中輸入:
<script> CKEDITOR.replace( 'content', {}); </script>,這時候如果我們把程式碼做一些簡單的修改,多加一行,改成這樣
<script>
CKFinder.setupCKEditor();
CKEDITOR.replace( 'content', {
});
</script>
就可以把CKFinder和CKEditor整合在一起了。
上傳好的檔案就會在指定的資料夾中了
參考資料:
CKFinder Documentation
0 意見:
張貼留言