1. 首先,可以先到http://ckeditor.com/下載最新版本的Ckeditor和Ckfinder。
2. 將下載好的檔案解壓縮后,放到自己的網站數據夾里面。
例如我的網站數據夾名稱為 test ,放置位置就是 D:/AppServ/www/test/ckeditor
D:/AppServ/www/test/ckfinder。
3. 如何設置可以參考 ckeditor/_samples/index.html 或是 http://ckeditor.com/demo , 也可以上網頁搜尋關鍵詞 ckeditor,會有許多教學文件。
4. 接下來如何動態自訂要儲存的數據夾?
今天建置的是共享的Ckeditor,存取的人有數名,如果都將上傳圖片放置在同一個數據夾里面,這樣就有可能被其它人竄改檔案或是被刪除。
本文利用SESSION來判斷登入者是否可以使用和建立他們自己的數據夾,當然,在使用Ckeditor,開啟"影像屬性"的時候,也只會看見自己數據夾內的檔案。
開啟ckfinder/config.php 檔案
(1)找到 function CheckAuthentication() 這一段程序,將此function修改為
//將可以使用Ckeditor上傳檔案的人,利用SESSION儲存起來后,在下面程序片段,來判斷哪些人可以使用。 if(isset($_SESSION['MM_Username'])){ return true; }else{ return false; }
(2)設定儲存的位置,本文是使用絕對路徑,使用搜尋找到$baseUrl和$baseDir,設定如下
$baseUrl = 'http://網站/uploads/images/'; //讀取路徑 $baseDir = resolveUrl($baseUrl); //儲存實體路徑
(3)
$config['Thumbnails'] = Array( 'url' => $baseUrl . $_SESSION['MM_Username'].'/_thumbs', 'directory' => $baseDir . $_SESSION['MM_Username'].'/_thumbs', 'enabled' => true, 'directAccess' => false, 'maxWidth' => 100, 'maxHeight' => 100, 'bmpSupported' => false, 'quality' => 80);
(4)上傳檔案最大尺寸,這邊也可以使用預設的,看需求。
$config['Images'] = Array( 'maxWidth' => 610, 'maxHeight' => 1200, 'quality' => 80);
(5)特別指定資料夾和檔案的權限,這邊也可以使用預定的,看需求。
//if(isset($_SESSION['MM_Username'])){ $config['AccessControl'][] = Array( 'role' => '*', 'resourceType' => '*', 'folder' => '/', 'folderView' => true, //瀏覽資 料夾 'folderCreate' => true, //建立資 料夾 'folderRename' => true, //重新命名數據夾 'folderDelete' => true, //刪除數據夾 'fileView' => true, 'fileUpload' => true, 'fileRename' => true, 'fileDelete' => true); /*}else{ $config['AccessControl'][] = Array( 'role' => '*', 'resourceType' => '*', 'folder' => '/', 'folderView' => false, 'folderCreate' => false, 'folderRename' => false, 'folderDelete' => false, 'fileView' => true, 'fileUpload' => true, 'fileRename' => true, 'fileDelete' => true); }*/
(6)
$config['ResourceType'][] = Array( 'name' => 'Images', 'url' => $baseUrl .$_SESSION['MM_Username'], 'directory' => $baseDir .$_SESSION['MM_Username'], 'maxSize' => 0, 'allowedExtensions' => 'bmp,gif,jpeg,jpg,png', 'deniedExtensions' => '');
5. 前臺的程序代碼將登入的使用者利用SESSION記錄起來存放在$_SESSION['MM_Username']
判斷是否已經有該名使用者的數據夾,如果沒有,就建立 www.it165.net
$file='uploads/images'.$_SESSION['MM_Username']; //本網站是test,剛剛設定Ckfinder存讀檔案的路徑為'http://網站/uploads/images/' if(!is_dir($file)){ $mask = umask(0); //限定新增數據夾的權限 $cf = mkdir($file,0777); //建立數據夾,并設定權限 umask($mask); //設回原本數據夾的權限 }
6. 完成!
只能看見自己上傳的圖片,如下圖
附件下載:http://www.it165.net/uploadfile/2013/0911/20130911074949557.rar
鄭重聲明:本文版權歸原作者所有,轉載文章僅為傳播更多信息之目的,如作者信息標記有誤,請第一時間聯系我們修改或刪除,多謝。
新聞熱點
疑難解答