`
梵谷的皇心
  • 浏览: 22198 次
社区版块
存档分类
最新评论

ckfinder改进:多用户,自动按年月划分文件夹

阅读更多

  

默认的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

分享到:
评论

相关推荐

    java-maven-ckfinder-2.3-jar包依赖

    在本例中,CKFinder 的 Maven 依赖描述为 "com.ckfinder:ckfinder:jar:2.3"。这表明我们需要引入的是 CKFinder 的 JAR 包,属于 `com.ckfinder` 这个组织(或库),版本号为 2.3。`jar` 表示这是一个 Java Archive ...

    ckfinder2.4.2

    修改官方ckfinder 按照年月自动划分文件夹

    ckfinder-2.3以及依赖

    在 CKFinder 中,它被用来自动创建和管理用户上传图片的缩略图,以提高网页加载速度和用户体验。 3. **apache-ant-zip-2.3.jar**:Apache Ant 是一个 Java 工具,用于构建软件项目。这里的 Zip 相关库可能用于处理...

    ckfinder-2.6.0.jar自定义上传文件夹,文件名

    ckfinder-2.6.0.jar适用于ckfinder在上传文件时对文件进行重命名,命名规则为uuid,对文件夹进行自定义命名

    CKFinder所需全部jar包

    CKFinder是一款广泛应用于Web开发中的文件管理工具,它允许用户在服务器上方便地浏览、上传、下载、编辑和删除文件。CKFinder的核心是基于Java的,因此它依赖于一系列的jar包来提供其功能。在提供的文件列表中,我们...

    ckedtior与ckfinder集成 图片上传浏览 不同用户 不同上传文件夹

    本篇将详细讲解如何将CKEditor与CKFinder集成,实现图片上传浏览功能,并针对不同用户创建独立的上传文件夹,以解决中文乱码问题。 首先,让我们从CKEditor说起。CKEditor 4.2 是一个功能丰富的JavaScript富文本...

    ckfinder_java_2.6.0

    其强大的特性包括多语言支持、缩略图预览、文件类型过滤、权限控制等,这些都极大地提升了用户体验。 在技术层面,CKFinder Java是用Java语言编写,这意味着它具备了Java平台的可移植性。无论你是部署在Windows、...

    ckfinder2.3.rar

    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)...

    ckfinder的简单应用--

    3. 集成 CKFinder:将解压后的 CKFinder 文件夹复制到你新创建的 Web 项目的 `WebContent` 目录下,通常放置在 `WEB-INF` 目录的同级目录。 4. 配置 CKFinder:打开 CKFinder 的配置文件 `config.js`,根据你的需求...

    最新ckeditor3.6.2+ckfinder_2.1配置下载

    CKFinder_2.1版本可能包含了一些改进和新特性,比如增强的用户体验、优化的性能或者更多的文件格式支持。 【自动安装年月目录】是指在上传文件时,文件会被存储在一个基于创建时间的结构化目录中。例如,文件被分为...

    springboot集成ckfinder3.5.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 ``` 配置完成后,我们需要创建...

    CKEditor3.5.2+CKfinder

    1. **文件和文件夹管理**:用户可以创建、删除、重命名、移动和复制文件及文件夹。 2. **多文件上传**:支持批量上传文件,提高了工作效率。 3. **多种文件类型支持**:不仅可以管理图片,还可以处理各种文档、音频...

    ckfinder_aspnet_3.5.1.zip

    8. **多语言支持**:CKFinder 支持多种语言,方便全球用户使用。 9. **API集成**:提供丰富的API接口,便于与现有系统无缝集成,例如CMS(内容管理系统)、BBS(论坛)等。 在"ckfinder_aspnet_3.5.1.zip"压缩包中...

    wordpress插件ckeditor整合ckfinder

    CKFinder则是一款与CKEditor配套使用的文件管理器,可以帮助用户方便地上传、管理和插入图片、文件到编辑器中。在本篇文章中,我们将深入探讨如何在WordPress中整合这两款工具,以提升内容创作的效率。 首先,我们...

    ckeditor+ckfinder配置

    1. **CKEditor 4.2 特性**:此版本的CKEditor提供了改进的用户体验,包括增强的WYSIWYG(所见即所得)编辑,支持HTML5元素,以及更完善的多语言支持。它还引入了更高效的代码库,提高了性能和稳定性。 2. **安装与...

    ckfinder-2.3

    版本2.3是该软件的一个迭代更新,它提供了多项功能改进和优化,以提升用户体验。 在 CKFinder 2.3 中,我们关注的主要知识点包括: 1. **文件和文件夹管理**:CKFinder 提供了直观的界面,用于浏览和管理服务器上...

    ckFinder_NET v2.0.2

    5. **测试**:最后,测试ckFinder的功能是否正常工作,确保所有设置都按预期运行。 总的来说,ckFinder NET v2.0.2是一款强大的文件管理解决方案,它提供了丰富的功能和良好的扩展性,帮助开发者构建安全、高效的...

    CKFinder-2.3

    jar包 --------------------------------CKFinder-2.3

    ckfinder_java_2.5.1

    2. **文件和文件夹管理**:用户可以创建、重命名、移动、复制、删除文件和文件夹,提供了一整套完善的文件操作功能。 3. **多媒体文件预览**:不仅限于文本文件,CKFinder还可以预览图片、音频、视频等多种类型的...

    ckfinder2.6.2 .net去demo

    2. **配置CKFinder**:在解压后的文件夹中找到`config.js`或`.NET`相关的配置文件,根据项目需求配置CKFinder的基本设置,如上传路径、文件类型限制等。 3. **整合到项目**:将CKFinder的相关文件和目录复制到.NET...

Global site tag (gtag.js) - Google Analytics