線上編輯器Ckeditor (2)
接上一篇
3 in-page(頁內)配置,在使用Ckeditor的介面裡進行直接配置
頁內配置
效果
特點:配置項完全屬於某個特定的Ckeditor執行個體,不可重用
三種配置方式比較
定製方式 |
特點 |
說明 |
優先順序 |
介面函數 |
靈活,不能複用 |
每個使用編輯器的頁面都要寫一次代碼 |
最高 覆蓋自訂及系統設定檔中的參數 |
自訂設定檔 |
靈活,可複用 |
可根據使用情境定義多個自訂設定檔,在不同的頁面中引用不同的設定檔 |
中等 覆蓋系統設定檔中的參數 |
系統設定檔 |
不靈活 |
全域性質,影響所有程式 |
最低 |
以上已經實現了線上編輯文字的功能,沒有實現檔案管理的功能。
原因:ck將線上編輯和檔案管理進行了分離。如果想要實現檔案管理,必須使用ckfinder
Ckfinder安裝
與Ckeditor步驟完全一致
Ckfinder檔案目錄
使用Ckfinder
要在Ckeditor的配置項中載入ckfinder的使用,載入幾個靜態頁,使用者檔案的管理
在客戶化的設定檔中載入
效果
但是,因為Ckfinder預設的是不允許使用者上傳檔案,所有沒有許可權進行檔案上傳
修改設定檔
許可權開放
找到config.php檔案來開放許可權
修改許可權,開放所有許可權
效果
以上路徑存在問題
修改檔案上傳路徑
config.php中找到路徑並進行修改
修改路徑
效果
修改檔案上傳目錄結構
目錄結構不能是單一的就在某個檔案類型的檔案夾下,應該適當的根據檔案上傳的量來確定檔案夾的結構。年/月/日
config.php中修改檔案架結構
修改結構
效果
檔案在上傳的過程中,如果檔案名稱字是中文或者特殊字元,系統是沒有辦法處理的,上傳之後,會出現亂碼。需要在檔案上傳後對檔案進行重新命名。
Ckfinder沒有提供重名的機制。
如何??修改源碼。
實現檔案重新命名
源碼檔案路徑
新增一個擷取隨機名字的函數
在哪裡去調用該函數?如何用?
效果
當前檔案管理工具可以在瀏覽器端對伺服器進行檔案的增刪改查,那麼這是相當危險,絕對不允許。
控制使用者權限
控制使用者對伺服器端檔案的操作
config.php中可以實現對檔案許可權的控制。
修改
效果
檔案上傳必須開放的許可權
Ckeditor編輯內容提交
- 增加form表單,textarea必須擁有name屬性
2 編輯後提交資料
3 PHP接收資料,需要轉義資料,addslashes
4 輸出資料,需要反轉,stripslashes