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

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

修改:dialog.php

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

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

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

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

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

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

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

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

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

{ //删除文件
delete_folder(
'<?php echo /*$root. */$cur_dir .$file; ?>',
'<?php echo $thumbs_path.$subdir .$file; ?>'
);
$(this).parent().parent().parent().hide(200); return false;
} { //删除文件夹
delete_file(
'<?php echo /*$root. */$cur_dir .$file; ?>',
'<?php echo $thumbs_path.$subdir .$file; ?>'
);
$(this).parent().parent().parent().parent().hide(200); return false;
}

Bug:无法浏览查看大图

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

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

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

<a class="preview"
title="<?php echo lang_Preview?>"
data-url="<?php echo $src_dirs;?>"
data-toggle="lightbox"
href="#previewLightbox"
>
<i class=" icon-eye-open"></i>
</a>

修改:delete_file.php

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

//unlink($path);
unlink($root.$path);
unlink($path_thumbs);

修改:delete_folder.php

//deleteDir($path);
deleteDir($root.$path);
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. 【 Oral English】Pronunciation

    一.英语音素 1.元音(元首,主要部分) 特点: a.无阻碍,拖很长认可辨别 b.声音响亮 2.辅音(重点,刻意练习) 特点: a.刻意阻碍 b.短促 二.汉语元素 1.音节:最小组成成分,而非元/辅 ...

  2. JS 获取指定日期的前几天,后几天

    function getNextDate(date,day) { var dd = new Date(date); dd.setDate(dd.getDate() + day); var y = dd ...

  3. 谈谈hashcode和equals的用法

    HASH: Hash是散列的意思,就是把任意长度的输入,通过散列算法变换成固定长度的输出,该输出就是散列值.关于散列值,有以下几个关键结论: 1.如果散列表中存在和散列原始输入K相等的记录,那么K必定 ...

  4. bzoj1434 [ZJOI2009]染色游戏

    Description 一共n × m 个硬币,摆成n × m 的长方形.dongdong 和xixi 玩一个游戏, 每次可以选择一个连通块,并把其中的硬币全部翻转,但是需要满足存在一个 硬币属于这个 ...

  5. protobuf编码

     proto2 Protocol Buffers 是一种轻便高效的结构化数据存储格式,可以用于结构化数据序列化,适合做数据存储或 RPC 数据交换格式.可用于通讯协议.数据存储等领域的语言无关.平台无 ...

  6. VS2013没有安装部署,安装图解

    自vs2012后就已经没有安装向导了,VS2013安装是不带安装部署的,用 InstallShield Limited Edition for Visual Studio 解决安装部署问题 第一步:“ ...

  7. isset() 与 array_key_exists() 比较

    1.对于数组值的判断不同,对于值为null或''或false,isset返回false,array_key_exists返回true: 2. 执行效率不同,isset是内建运算符,array_key_ ...

  8. CF#538(div 2) C. Trailing Loves (or L'oeufs?) 【经典数论 n!的素因子分解】

    任意门:http://codeforces.com/contest/1114/problem/C C. Trailing Loves (or L'oeufs?) time limit per test ...

  9. spring使用 hibernate jpa JpaRepository

    使用JpaRepository需要两个架包: <dependency> <groupId>org.springframework.data</groupId> &l ...

  10. java中prepareStatement与createStatement的区别

    首先来看两段代码: 第一个使用createStatement() public void delete( int id){ try { Connection c = DBUtil.getConnect ...