天天看點

讓 FCKeditor 支援多使用者Web環境(以PHP為例)

FCKeditor 是個很優秀的 Web 編輯器,很多項目甚至産品中都在用它。但它預設的上傳檔案目錄為/userfiles/,也就是說,如果在編輯器中上傳了圖檔等檔案的話,隻能在/userfiles/檔案夾下。對于多使用者會員系統的網站系統,這顯然是不合适的,因為是不能讓所有使用者都共享同一個資源檔案夾的。

    是以必須進行動态配置,讓不同的使用者把圖檔、Flash等資源檔案上傳到自己私有的檔案夾下。

    FCKeditor 是在 editor\filemanager\connectors\php\config.php 配置檔案中進行上傳目錄配置的,核心語句是:

    $Config[’UserFilesPath’] = ‘/userfiles/’;

    隻要修改該條語句,就能達到配置上傳目錄的目的。

    以 lightPHP 這個流行的 CMS 為例,它的多使用者檔案夾在 /datas/userfiles/ 檔案夾下,例如 /datas/userfiles/admin 是使用者 admin 的使用者目錄,其他使用者以此類推。是以如果某個使用者登入後,$Config[’UserFilesPath’] 數組的值就應該等于/datas/userfiles/[使用者名]。這個可以通過會話來實作。例如,$_SESSION[’current_user’] 代表目前使用者名,那麼配置語句就是:

    $Config[’UserFilesPath’] = ‘/datas/userfiles/’ . $_SESSION[’current_user’] . ‘/’;

    這樣就實作了多使用者環境下上傳目錄的動态配置。

    具體實作時,應當注意的問題是,要用 session,必須首先執行 session_start(); 語句。還有,在某些情況下,如果 session 丢失,還需要注意 session 的路徑問題。

    在 lightPHP 系統中,完整的配置語句是:

    session_save_path(realpath(’../../../../../../datas/temp’));

    session_start();

    更多問題,請與作者本人探讨。

本文轉自網眼51CTO部落格,原文連結:http://blog.51cto.com/itwatch/286470,如需轉載請自行聯系原作者