欢迎访问web记录!每一步的成长都是一种幸福,聪明的女孩擅长记录幸福!
您现在的位置:web记录 > 网站编程 > php >

CKEditor+CKFinder+php上传配置,根据年月命名创建文件夹来存放

更新时间:2016-12-22 浏览次数:

在php环境下用CKEditor+CKFinder+php上传文本和图片,配置如下:

一、开启CKFind的上传功能  

打开ckfinder\config.php文件,找到函数CheckAuthentication(),大约在21行,将最后一行return false;改为return true;

 

二、自定义上传文件目录。

打开ckfinder\config.php文件,设置变量$baseUrl = '/upload/';,大约在63行。

 

三、修改文件名,不修改的话当文件名为中文时必会出现乱码。

方法可以为简单修改或编写重命名文件的函数,如果是编写函数,那么在最后直接调用即可。

 

**CKEditor的配置文件是:config.js    CKFind的配置文件是:config.php

具体步骤:

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;  

关键词:

    + 相关信息

    前端案例

    返回顶部 欢迎访问web记录!每一步的成长都是一种幸福,聪明的女孩擅长记录幸福!