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

安装

下载安装包解压后,在根目录下会找到两个文件夹:langs(语言包)plugins(核心程序/插件包),分别将两个文件夹拷至TinyMCE的语言目录下和插件目录下,如果有覆盖冲突,建议将原有文件夹复制一份

配置

FileManager  6.x 的Bug较多,大叔配合Chrome的调试工具,才将错误一一找出来,并修正。
9.x 是一个全新的版本,修正了4.x-6.x所有的错误,如果不愿意修改错误的同学可以考虑转向9.x

配置:Config.php

  1. //连接前缀,自动添加在文件 src=‘http://xxxx’ 中
  2. $base_url = 'http://localhost';
  3. //上传路径
  4. $upload_dir = '/uploads/';
  5. //上传路径(绝对路径)
  6. $current_path = '../../../Uploads/';

修改:dialog.php

在修改文件内容前,有一些同学的网站上可能会提示:Notice:Undefined varialbe这个经典错误,如果网站放在服务器上的同学,大叔不建议去PHP.ini关闭这个提示,直接在页面顶部:

  1. <?php
  2. error_reporting(E_ALL & ~E_NOTICE);
  3. ...

修改:图片自动更换二级域名

在文件的<body>下面增加:

  1. <input type="hidden" id="src_dirs" value="<?php echo $subdir; ?>" />

修改:图片自动更换二级域名 - include.js文件

  1. function apply_img(file,type_file,external){ //缩略图
  2. if ($('#popup').val()==1) var window_parent=window.opener;
  3. else var window_parent=window.parent;
  4. //var path = $('#cur_dir').val();
  5. //将#cur_dir更换成#cur_dirs
  6. //#cur_dir 图片默认长路径,上传用,路径重写向的网站这个路径无效
  7. //#cur_dirs 大叔自己做了一个短路径,这样就和TP5的route不冲突了
  8. var src_path = $('#src_dirs').val();
  9. var base_url = $('#base_url').val();
  10. var track = $('#track').val();
  11. if (external=="") {
  12. var target = window_parent.document.getElementsByClassName('mce-img_'+track);
  13. var closed = window_parent.document.getElementsByClassName('mce-filemanager');
  14. $(target).val(base_url+'/'+src_path+file);
  15. $(closed).find('.mce-close').trigger('click');
  16. }else{
  17. var target = window_parent.document.getElementById(external);
  18. $(target).val(base_url+'/'+src_path+file);
  19. close_window();
  20. }
  21. }

Bug:无法删除文件&文件夹

$root.参数注释掉,否则删除文件文件夹时,Jquery传值的路径会出错,导致删除无效。

  1. { //删除文件
  2. delete_folder(
  3. '<?php echo /*$root. */$cur_dir .$file; ?>',
  4. '<?php echo $thumbs_path.$subdir .$file; ?>'
  5. );
  6. $(this).parent().parent().parent().hide(200); return false;
  7. }
  8.  
  9. { //删除文件夹
  10. delete_file(
  11. '<?php echo /*$root. */$cur_dir .$file; ?>',
  12. '<?php echo $thumbs_path.$subdir .$file; ?>'
  13. );
  14. $(this).parent().parent().parent().parent().hide(200); return false;
  15. }

Bug:无法浏览查看大图

因为$src的路径问题,会导致大图之前无法查看,这里大叔新写了一个$src_dirs,为自定义路径,变成适合自己的网站可以正常查看的路径

  1. //先找到这行,大约在290行左右
  2. $src = $base_url . $cur_dir . $file;
  3. //在上一行下面新增这一行
  4. $src_dirs = $base_url.$upload_dir.$subfolder.$subdir.$file;

找到<a class="preview"data-url=的值换成$src_dirs

  1. <a class="preview"
  2. title="<?php echo lang_Preview?>"
  3. data-url="<?php echo $src_dirs;?>"
  4. data-toggle="lightbox"
  5. href="#previewLightbox"
  6. >
  7. <i class=" icon-eye-open"></i>
  8. </a>

修改:delete_file.php

前面将$root.参数注释,是为了防止路径传值出错,所以这里重新将绝对地址加上去,不然将会导致删除文件时,变成无法删除。

  1. //unlink($path);
  2. unlink($root.$path);
  3. unlink($path_thumbs);

修改:delete_folder.php

  1. //deleteDir($path);
  2. deleteDir($root.$path);
  3. deleteDir($path_thumbs);

TinyMCE插件:FileManager [4.x-6.x] 配置及BUG处理的更多相关文章

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

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

  2. TinyMCE插件:RESPONSIVE filemanager 9 安装与配置

    RESPONSIVE filemanager 功能: 文件上传 文件下载 重命名文件 删除文件 新建文件夹 为每个用户创建子目录 上传文件效果图: 浏览文件效果图: 文件说明: filemanager ...

  3. TinyMCE插件:RESPONSIVE filemanager 9 图片自动添加水印

    跟踪function() 搜索(filemanager/upload.php) 在代码中发现,上传成功后,会传回JSON信息数据,于是最后找到方法是 $upload_handler = new Upl ...

  4. TinyMCE插件:RESPONSIVE filemanager 9 文件名统一格式化

    上传图片方法(filemanager/UploadHandler.php) 在上传图片的函数中查看,发现$file->name是一个完整的[文件名.后缀名],所以使用explode(),文件名和 ...

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

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

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

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

  7. Myeclipse插件快速生成ssh项目并配置注解 在action层注入service的超详细过程

    最近发现,我对于ssh的 自动注入配置 还是不熟悉,于是整理了一下 终于做了一个 简单的 注入配置出来. 以前都是在applicationContext.xml 里面这样配 <bean id=& ...

  8. Bootstrap Multiselect插件使用步骤以及常见参数配置介绍

    Multiselect是基于jQuery插件的,它可以以下拉列表的形式为用户提供选择内容,能进行单选或者多选.它应用的主要步骤如下: 一,引入需要的相关js和css文件 既然是Bootstrap插件, ...

  9. datetimepicker bootstrap的时间插件显示位置问题及其他配置

    位置问题: 在bootstrap中用 datetimepicker 时默认是在输入框下面弹出的, 但是遇到输入框在屏幕最下面时,日期选择框会有一部分在屏幕下面,显示不了,因此需要能够从上面弹出. 可以 ...

随机推荐

  1. 两步让你的mobile traffic通过fiddler代理传送

    mobile app运行时由于调试网络相关的内容非常不便,所以如果能够让iphone通过桌面主机来跑traffic,那么在pc上就能非常清楚地检查mobile app和后端之间有什么问题了. 幸运的是 ...

  2. 【Leetcode】【Medium】Generate Parentheses

    Given n pairs of parentheses, write a function to generate all combinations of well-formed parenthes ...

  3. HTML5新增功能

    HTML5日期输入类型(date) 1.HTML5规范里只规定date新型input输入类型 HTML5里的dateinput类型给了给了浏览器实现原生日历的机会,从此之后,JavaScript版的日 ...

  4. CPP11实践

    - 001 以lambda作为返回值该如何声明? 标准库提供了function模板可以直接声明,如std::function<void (int, int)>.如下函数foo返回了一个函数 ...

  5. Hibernate缓存策略

    Hibernate的一级缓存又称为Session缓存,其适用范围是在当前的会话之中,其生命周期和Session相同,随着Session的销毁,一级缓存也会随之销毁.一级缓存是不能取消的,Hiberna ...

  6. January 25 2017 Week 4 Wednesday

    In every triumph, there's a lot of try. 每个胜利背后都有许多尝试. There's a lot of try behind every success, and ...

  7. macbook pro 2016 2017 15寸 雷电3 外接显卡 epu 简单教程(不修改UEFI)

    雷电3外接显卡效果还不错,但是除了akitio node 其他厂家并不会维护自己的固件来适配新机型,我自己买的mbp 2016 15''就出现了和AORUS Gaming Box 1070不兼容的问题 ...

  8. SAP CRM settype的创建,背后发生了什么

    来自我的同事Sara. 当我们在CRM系统里创建一个settype之后,其实系统后台悄悄的帮我们创建了很多ABAP对象,比如对应的database tables, other ABAP Diction ...

  9. sql语句中where,have,on的区别

    一.where和on的区别 数据库在通过连接两张或多张表来返回记录时,都会生成一张中间的临时表,然后再将这张临时表返回给用户.  在使用left jion时,on和where条件的区别如下:   1. ...

  10. 使用Vue-cli脚手架

    使用vue-cli脚手架开发vue项目,有以下好处: (1)成熟的Vue项目架构设计. (2)本地测试服务器(热更新). (3)集成打包上线方案. Vue-cli系统要求: Node.js(>= ...