程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> 網頁編程 >> PHP編程 >> 關於PHP編程 >> CKEditor+CKFinder+php上傳文件配置方法

CKEditor+CKFinder+php上傳文件配置方法

編輯:關於PHP編程

CKEditor+CKFinder+php上傳文件配置方法 ,新版本的CKEditor只提供了基本的文本編輯功能,上傳模塊由另一個組件CKFinder。這裡主要記錄CKFinder上傳的一些參數配置,能夠成功上傳文件,自定義上傳文件目錄,按日期+隨機字符重命名文件。

新版本的CKEditor只提供了基本的文本編輯功能,上傳模塊由另一個組件CKFinder。這裡主要記錄CKFinder上傳的一些參數配置,能夠成功上傳文件,自定義上傳文件目錄,按日期+隨機字符重命名文件。

1、下載CKFinder。
下載CKFinder,解壓跟CKEditor放同一目錄,下載地址:http://ckfinder.com/

2、開啟上傳功能。
打開ckfinder\config.php文件,找到函數CheckAuthentication(),大約在21行,將最後一行return false;改為return true;

3、自定義上傳文件目錄。
打開ckfinder\config.php文件,設置變量$baseUrl = '/upload/';,大約在63行。

4、設置按日期生成上傳子目錄。
如果您的網站上傳文件比較多,文件都在一個目錄下的話,對文件性能可能不是很思想,這時我們按/upload/yyyy/mm/格式生成目錄。打開 ckfinder\config.php文件,找到$config['ResourceType'][],大約在189行,在 'url' => $baseUrl . 'files' 和 'directory' => $baseDir . 'files' 都加上  . '/' . date("Y") . '/' . date("m"),其它 Images,Flash項也是如此。這裡的 url 表示上傳後返回到輸入框的地址,directory表示上傳文件的目錄。

5、按日期+隨機字符重命名上傳文件。
這樣可以支持中文名字的文件上傳。打開ckfinder\core\connector\php\php5\CommandHandler\FileUpload.php文件,在文件最後加個生成文件名函數

 代碼如下 復制代碼

function mySetFileName() {
    $gettime = explode(' ', microtime());
    $string = 'abcdefghijklmnopgrstuvwxyz0123456789';
    $rand = '';

    for ($x = 0; $x < 5; $x++) {
        $rand .= substr($string, mt_rand(0, strlen($string) - 1), 1);
    }

    return date("ymdHis") . substr($gettime[0], 2, 6) . $rand;
}

查找下面代碼,大約在63行,

 代碼如下 復制代碼 if ($sFileName != $sUnsafeFileName) {
    $iErrorNumber = CKFINDER_CONNECTOR_ERROR_UPLOADED_INVALID_NAME_RENAMED;
}


在下方添加下面代碼,

 代碼如下 復制代碼 $sExtension = CKFinder_Connector_Utils_FileSystem::getExtension($sFileName);
$sFileName = mySetFileName() . '.' . $sExtension;

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved