CKEditor+CKFinder+php上传文件配置方法
新版本的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() { for ($x = 0; $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; |
上一篇: css样式表中字体乱码
推荐阅读
-
smarty模板引擎从配置文件中获取数据的方法,smarty模板_PHP教程
-
C#采用HttpWebRequest实现保持会话上传文件到HTTP的方法
-
php无法上传大文件的解决方法
-
fckeditor上传文件按日期存放及重命名方法_PHP教程
-
thinkPHP3.2简单实现文件上传的方法,
-
在web.config和app.config文件中增加自定义配置节点的方法
-
通过配置文件来修改WAS控制台Session过期时间的方法 博客分类: Java XML浏览器
-
asp.net通过配置文件连接Access的方法
-
Eclipse引用XSD实现XML配置文件提示标签的方法
-
thinkPHP3.2简单实现文件上传的方法