默认的ckfinder只是单用户,或者说,多个用户共用同一个图片目录。所有上传的image全部拥挤在一个文件夹。 现在想实现:
1. 不同用户有自己的独立的文件夹。
2. 同一个用户的文件能自动根据上传时间归类。
(我这里ckfinder是与ckeditor结合使用的。如果是ckfinder单独使用或者是与其它editor结合的情况,可能会作不同的修改。) 找到 /ckfinder/config.php 中的 $baseUrl。这个变量是ckfinder管理的最顶级目录。假设$baseUrl = '/userfiles/',那么默认的目录结构是: /userfiles/
flashes/ images/
如果想改成这个结构:
/userfiles/ user1
flashes/
images/
user2
flashes/
images/
只要为每个用户设定好各自的顶级目录就可以了: $baseUrl = '/userfiles/' . $user; 注意,如果 $user 的值是从$_SESSION中取得,需要在/ckfinder/config.php首行加上session_start();
到目前为止,第一个需求实现了。
第二个需求,只要两个步骤:
1)找到 /ckfinder/core/connector/php/php5/CommandHandler/FileUpload.php文件。
文件上传的主要逻辑都在这里了。根据使用的php版本找相应的文件夹,如果你用的是php4,聪明的你会知道去哪里找这个文件的。
在这个文件里找到 $sServerDir = $this->_currentFolder->getServerPath(); 将其改成: $sServerDir = $this->_currentFolder->getServerPath(); if ($_GET['command'] == 'QuickUpload'){ $sServerDir .= '/'. date('Y/m'); // 加上以年和月两层目录 } if (!file_exists($sServerDir)){ // 目录若未出现则创建它 CKFinder_Connector_Utils_FileSystem::createDirectoryRecursively($sServerDir); }
2)
找到 /ckfinder/core/connector/php/php5/CommandHandler/QuickUpload.php 找到其中的 $oRegistry->set("FileUpload_url", $this->_currentFolder->getUrl()); 将其改为: $oRegistry->set("FileUpload_url", $this->_currentFolder->getUrl().date('Y/m/'));
无论怎样的文件保存规则和文件命名规则,都是$baseUrl ,$sServerDir ,和$sFileName这三个变量的配合。
如果是QuickUpload,即是从ckeditor的控件去upload files,还需留意两个要注册的变量:
$oRegistry->set("FileUpload_url", $value); 和
$oRegistry->set("FileUpload_fileName", $value);
FileUpload_url,FileUpload_fileName这两个变量是将刚上传的文件的URL返回到前端的ckeditor。
参考地址:http://wenku.baidu.com/view/4fc69e096c85ec3a87c2c5fe.html
相关推荐
在本例中,CKFinder 的 Maven 依赖描述为 "com.ckfinder:ckfinder:jar:2.3"。这表明我们需要引入的是 CKFinder 的 JAR 包,属于 `com.ckfinder` 这个组织(或库),版本号为 2.3。`jar` 表示这是一个 Java Archive ...
修改官方ckfinder 按照年月自动划分文件夹
在 CKFinder 中,它被用来自动创建和管理用户上传图片的缩略图,以提高网页加载速度和用户体验。 3. **apache-ant-zip-2.3.jar**:Apache Ant 是一个 Java 工具,用于构建软件项目。这里的 Zip 相关库可能用于处理...
ckfinder-2.6.0.jar适用于ckfinder在上传文件时对文件进行重命名,命名规则为uuid,对文件夹进行自定义命名
CKFinder是一款广泛应用于Web开发中的文件管理工具,它允许用户在服务器上方便地浏览、上传、下载、编辑和删除文件。CKFinder的核心是基于Java的,因此它依赖于一系列的jar包来提供其功能。在提供的文件列表中,我们...
本篇将详细讲解如何将CKEditor与CKFinder集成,实现图片上传浏览功能,并针对不同用户创建独立的上传文件夹,以解决中文乱码问题。 首先,让我们从CKEditor说起。CKEditor 4.2 是一个功能丰富的JavaScript富文本...
其强大的特性包括多语言支持、缩略图预览、文件类型过滤、权限控制等,这些都极大地提升了用户体验。 在技术层面,CKFinder Java是用Java语言编写,这意味着它具备了Java平台的可移植性。无论你是部署在Windows、...
ckfinder Jar包,版本2.3,包含文件 1) apache-ant-zip-2.3.jar 2)ckfinder-2.3.jar 3)ckfinderplugin-fileeditor-2.3.jar 4)ckfinderplugin-imageresize-2.3.jar 5)CKFinder-uuid-2.6.0.jar 6)...
3. 集成 CKFinder:将解压后的 CKFinder 文件夹复制到你新创建的 Web 项目的 `WebContent` 目录下,通常放置在 `WEB-INF` 目录的同级目录。 4. 配置 CKFinder:打开 CKFinder 的配置文件 `config.js`,根据你的需求...
CKFinder_2.1版本可能包含了一些改进和新特性,比如增强的用户体验、优化的性能或者更多的文件格式支持。 【自动安装年月目录】是指在上传文件时,文件会被存储在一个基于创建时间的结构化目录中。例如,文件被分为...
ckfinder: base-path: /ckfinder backend: default: root: /var/www/ckfinder/userfiles allowed-types: image,file max-size: 5000000 deny-extensions: php,exe,com,bat,cmd ``` 配置完成后,我们需要创建...
1. **文件和文件夹管理**:用户可以创建、删除、重命名、移动和复制文件及文件夹。 2. **多文件上传**:支持批量上传文件,提高了工作效率。 3. **多种文件类型支持**:不仅可以管理图片,还可以处理各种文档、音频...
8. **多语言支持**:CKFinder 支持多种语言,方便全球用户使用。 9. **API集成**:提供丰富的API接口,便于与现有系统无缝集成,例如CMS(内容管理系统)、BBS(论坛)等。 在"ckfinder_aspnet_3.5.1.zip"压缩包中...
CKFinder则是一款与CKEditor配套使用的文件管理器,可以帮助用户方便地上传、管理和插入图片、文件到编辑器中。在本篇文章中,我们将深入探讨如何在WordPress中整合这两款工具,以提升内容创作的效率。 首先,我们...
1. **CKEditor 4.2 特性**:此版本的CKEditor提供了改进的用户体验,包括增强的WYSIWYG(所见即所得)编辑,支持HTML5元素,以及更完善的多语言支持。它还引入了更高效的代码库,提高了性能和稳定性。 2. **安装与...
版本2.3是该软件的一个迭代更新,它提供了多项功能改进和优化,以提升用户体验。 在 CKFinder 2.3 中,我们关注的主要知识点包括: 1. **文件和文件夹管理**:CKFinder 提供了直观的界面,用于浏览和管理服务器上...
5. **测试**:最后,测试ckFinder的功能是否正常工作,确保所有设置都按预期运行。 总的来说,ckFinder NET v2.0.2是一款强大的文件管理解决方案,它提供了丰富的功能和良好的扩展性,帮助开发者构建安全、高效的...
jar包 --------------------------------CKFinder-2.3
2. **文件和文件夹管理**:用户可以创建、重命名、移动、复制、删除文件和文件夹,提供了一整套完善的文件操作功能。 3. **多媒体文件预览**:不仅限于文本文件,CKFinder还可以预览图片、音频、视频等多种类型的...
2. **配置CKFinder**:在解压后的文件夹中找到`config.js`或`.NET`相关的配置文件,根据项目需求配置CKFinder的基本设置,如上传路径、文件类型限制等。 3. **整合到项目**:将CKFinder的相关文件和目录复制到.NET...