RESPONSIVE filemanager 功能:

  • 文件上传
  • 文件下载
  • 重命名文件
  • 删除文件
  • 新建文件夹
  • 为每个用户创建子目录

上传文件效果图:

浏览文件效果图:

文件说明:

  • filemanager(核心程序文件),放入TinyMCE的Plugins(插件)文件中
  • source(文件上传文件夹),放在任意位置,配合$upload_dir路径一起使用
  • thumbs(缩略图文件夹),放在任意位置,缩略图会自己生成,配合$thumbs_base_path路径一起使用
  • tinymce/plugins/responsivefilemanager(文件上传按钮),如路径所示添加至plugins文件夹,因TinyMCE自带的文件/图片管理按钮一次只能往编辑器中显示一个图片,所以插件用了一个全新的文件管理按钮来批量显示图片。

源代码主要结构介绍

  • dialog.php用于界面显示
  • js/include.js用于前台向后台提交请求(如删除、重命名等)
  • force_download.php下载文件
  • execute.php接受前台请求,调用相应的include/utils.php中的方法
  • include/utils.php真正创建、重命名、删除等功能的实现
  • lang实现本地化的语言

结构图

安装

内容编辑页面中的TinyMCE调用代码加入以下语法

tinymce.init({
...
...
relative_urls: false, //如果选项置为 true,返回的URL将会是基于 document_base_url 的相对链接。如果置为 false,所有的URL会被转换成绝对路径。
plugins: [
"... image ...",
"...",
'responsivefilemanager',
],
image_advtab: true, //开启图片上传的高级选项功能
external_filemanager_path: '.../.../filemanager/', //外部插件绝对路径
filemanager_title: 'Responsive Filemanager', //外部插件标题
external_plugins: {
'filemanager': '.../.../filemanager/plugin.min.js'
}, //外部插件js配置文件
toolbar1: "... | ... | responsivefilemanager image ... | ...", //工具栏配置
});

安装responsivefilemanager插件后,红色框内的按钮是无法把图片录入至编辑框内的,因为插件支持批量多图录入,所以需要使用新的按钮(绿色框内)。

配置

核心配置文件(filemanager/config/config.php)

  • $base_url 域名前缀,默认已设置自动获取http://
  • $upload_dir 设置文件上传的根目录(如"/root/")
  • $thumbs_base_path 设置缩略图存放的位置(如"/root/thumbs/")
  • $MaxSizeUpload 定义最大上传文件的大小(注:小于等于php配置的最大值)
  • $default_language 定义语言
  • $ext 定义可上传的文件类型

图片信息获取(filemanager/include/php_image_magician.php)

在2724行附近

//========== mime_content_type方法 php 5.3版后已被官方抛弃,新方法是finfo_open()
$extension = finfo_open(FILEINFO_MIME_TYPE);
$extension = finfo_file($extension, $file);
//$extension = mime_content_type($file);
//========== xdy.me.20181118

文件操作界面(filemanager/dialog.php)

这两个库直接影响Filemanager的用户体验,但是ajax.googleapis.com很不稳定,时常无法访问,所以需要将两个jquery库下载至本地来调用。

<script src="js/jquery-1.11.3.min.js" type="text/javascript"></script>
<script src="js/jquery-ui-1.11.4.min.js" type="text/javascript"></script>
<!--<script src="//ajax.googleapis.com/ajax/libs/jquery/1.11.3/jquery.min.js"></script>-->
<!--<script src="//ajax.googleapis.com/ajax/libs/jqueryui/1.11.4/jquery-ui.min.js" type="text/javascript"></script>-->

对图片进行了CDN的同学,可以在这里修改成对应的CDN地址。

<!--<input type="hidden" id="upload_dir" value="--><?php //echo $config['upload_dir'];?><!--" />-->
<!--<input type="hidden" id="cur_dir" value="--><?php //echo $cur_dir;?><!--" />-->
<input type="hidden" id="upload_dir" value="/" />
<input type="hidden" id="cur_dir" value="/<?php echo $subdir;?>" /> <!--<input type="hidden" id="base_url" value="--><?php //echo $config['base_url']?><!--"/>-->
<input type="hidden" id="base_url" value="http://xxx.xdy.me"/>

PS1:要创建中文的文件夹,需要修改include/util.php中fix_path方法

function fix_path($path,$transliteration){
$info=pathinfo($path);
$tmp_path = $info['dirname'];
$filename = end(explode("/",$path));
$str=fix_filename($filename,$transliteration);
if($tmp_path!="")
return $tmp_path.DIRECTORY_SEPARATOR.$str;
else
return $str;
}

PS2:为每个用户指定子目录添加session变量$_SESSION['subfolder']


感谢:

TinyMCE插件:RESPONSIVE filemanager 9 安装与配置的更多相关文章

  1. TinyMCE插件:FileManager [4.x-6.x] 配置及BUG处理

    FileManager最新版已升级到9.x,9.x新增了对文件的批量处理,但仍然有部分同学在继续使用6.x,这里大叔整理了一份自己在配置6.x时,遇到的问题和解决方案. 安装 下载安装包解压后,在根目 ...

  2. vim插件管理器的安装和配置-windows

    # vim插件管理器的安装和配置-windows ### 前言------------------------------ vim做一框功能强大的编辑器,扩展功能令人称奇,插件机制非常灵活- 本篇推荐 ...

  3. TinyMCE插件:Filemanager [4.x-6.x] 文件名统一格式化

    上传图片程序(filemanager/upload.php) 在if (!empty($_FILES) && $upload_files)中上传图片时,在文件正式上传至服务器前,有一次 ...

  4. TinyMCE插件:Filemanager [4.x-6.x] 图片自动添加水印

    上传图片程序(filemanager/upload.php) 在if (!empty($_FILES) && $upload_files)有一个move_uploaded_file() ...

  5. 第四十八篇:webpack的基本使用(二) --安装和配置webpack-dev-server插件

    好家伙, 1.webpack中的默认约定 默认的打包入口文件为src  -->index.js 默认的输出文件路径为dist -->main.js 既然有默认,那么就说明肯定能改 2.en ...

  6. cordova 和 java ( JDK ) 和 android-studio (SDK)的初始安装和配置

    一:前言(2018) 之前封装APP都是用的HBuilder结合mui来封装的简单app,有空的时候想研究下之前的phonegap来封装app.然后遇到的问题还是蛮多的,毕竟之前没弄过. 下面的步骤主 ...

  7. Sublime Text3下的markdown插件的安装及配置

    Sublime Text3下的markdown插件的安装及配置 安装准备--安装Package Control 安装MarkdownEditing 安装Markdown Preview或OmniMar ...

  8. Eclipse中Python插件PyDev的安装与配置流程

    安装PyDev插件的两种安装方法: 方法1.下载地址:http://sourceforge.net/projects/pydev/files/,将下载的PyDev解压(目前最新版本 PyDev 4.5 ...

  9. NotePad++安装和配置C/C++开发插件

    NotePad++ - 安装和配置C/C++开发插件 | NotePad++ - Install and Configure plugins for develop C/C++ http://aofe ...

随机推荐

  1. html5\CSS3有哪些新特性、移除了哪些元素?如何处理HTML5新标签的浏览器兼容问题?如何区分HTML和HTML5?

    (1)HTML5现在已经不是SGML的子集,主要是关于图像,位置,存储,地理定位等功能的增加. 绘画canvas元素: 用于媒介回放的video和audio元素: 本地离线存储localStorage ...

  2. Oracle常用名词解释

    好久没做rac,最近要做架构梳理,这里针对Oracle常用的名词缩写,这里做个记录,希望对大家有所帮助. RAC 全称是Real Application Cluster,oracle的高可用群集,即实 ...

  3. winform ComboBox控件反选

    winform ComboBox控件反选:int index = comboBox1.FindString(textBox2.Text); comboBox1.SelectedIndex = inde ...

  4. Intel酷睿前世今生(二)

    上一文,讲述到了酷睿构架的诞生.可以显而易见的知道,酷睿构架其实源于笔记本处理器构架.因为在当年的技术趋势中,因为提升主频而带来的负面影响如发热与高功率已经让普通消费者所不满.然而提升主频并没有提升多 ...

  5. java获取中文拼音首字母

    import net.sourceforge.pinyin4j.PinyinHelper; public class PinyinHelperUtil { /** * 得到中文首字母(中国 -> ...

  6. python3.6+GDAL-2.1.3环境配置

    1.下载地址:http://www.lfd.uci.edu/~gohlke/pythonlibs/#gdal 2.配置:见上图命令(跟以前相似) 3.测试:

  7. Cookies的各方面知识(基础/高级)深度了解

    Cookies想必所有人都了解本文将围绕Cookies基础知识(什么是Cookies/Cookies如何传递/Cookies如何存储/Cookies如何查看)Cookies高级知识/Cookie的限制 ...

  8. 基础知识:Promise(整理)

    基础知识:Promise(整理) (来自牛客网)下面关于promise的说法中,错误的是(D) A. resolve和reject都是直接生成一个进入相应状态的promise对象,其参数就是进入相应状 ...

  9. mongo数据库导入导出数据

    一.Mongodb导出工具mongoexport Mongodb中的mongoexport工具可以把一个collection导出成JSON格式或CSV格式的文件.可以通过参数指定导出的数据项,也可以根 ...

  10. 【LeetCode每天一题】Remove Duplicates from Sorted Array II(移除有序数组中重复的两次以上的数字)

    Given a sorted array nums, remove the duplicates in-place such that duplicates appeared at most twic ...