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=Windows.opener;
- else var window_parent=Windows.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);
来源: https://www.cnblogs.com/dydashu/p/10005432.html