FileManager 圖片管理插件是 TinyMCE下 免費且非官方的文件插件,可上傳/管理的類型包括:文件,圖片,視頻。 本教程主要展示大叔在為安裝開發插件過程中進行調整的修改記錄。 ...
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);