ホームページ >バックエンド開発 >PHPチュートリアル >[原创]让FCKeditor的File manager支持”删除” (php),该怎么处理
[原创]让FCKeditor的File manager支持”删除” (php)
FCKeditor是一款很好用的所见即所得编辑器, 内置的File manager也实现了基本的文件管理功能, 唯一遗憾的是, 不支持删除…
没关系, 其实只需以下几步就可以实现删除文件和文件夹:
1, fckeditor\editor\filemanager\browser\default\frmresourceslist.html, 编辑:
<!--Code highlighting produced by Actipro CodeHighlighter (freeware)http://www.CodeHighlighter.com/-->oListManager.GetFolderRowHtml = function( folderName, folderPath, folderUrl ){// Build the link to view the folder.var sLink = '<a href="#" onclick="OpenFolder(\'' + ProtectPath( folderPath ) + '\');return false;">' ;return '<tr>' +'<td width="16">' +sLink +'<img alt="" src="images/Folder.gif" style="max-width:90%" style="max-width:90%" border="0">' +'</td> <td nowrap colspan="2"> ' +sLink +folderName +'' +'</td> <td align="right" width="45">- <a href="#" onclick="DeleteFolder(\''+folderName+'\',\''+ folderUrl.replace( /'/g, '\\\'') + '\');return false;">Delete</a> </td>' ;}<br>2, fckeditor\editor\filemanager\browser\default\frmresourceslist.html, 编辑:<br><dl class="code">PHP code<pre class="brush:php;toolbar:false"><!--Code highlighting produced by Actipro CodeHighlighter (freeware)http://www.CodeHighlighter.com/-->oListManager.GetFileRowHtml = function( fileName, fileUrl, fileSize ){// Build the link to view the folder.var sLink = '<a href="#" onclick="OpenFile(\'' + ProtectPath( fileUrl ) + '\');return false;">' ;// Get the file icon.var sIcon = oIcons.GetIcon( fileName ) ;return '<tr>' +'<td width="16">' +sLink +'<img alt="" src="images/icons/'%20+%20sIcon%20+%20'.gif" style="max-width:90%" style="max-width:90%" border="0">' +'</td> <td> ' +sLink +fileName +'' +'</td> <td align="right" nowrap> ' +fileSize +' KB' +'</td> <td align="right" width="45">- <a href="#" onclick="DeleteFile(\''+fileName+'\',\'' + fileUrl.replace( /'/g, '\\\'') + '\');return false;">Delete</a> </td>' ;}<br>3, fckeditor\editor\filemanager\browser\default\frmresourceslist.html, 增加:<br><dl class="code">PHP code<pre class="brush:php;toolbar:false"><!--Code highlighting produced by Actipro CodeHighlighter (freeware)http://www.CodeHighlighter.com/-->function DeleteFile( fileName, fileUrl ){if (confirm('Are you sure you wish to delete ' + fileName + '?')) {oConnector.SendCommand( 'DeleteFile', "FileUrl=" + escape( fileUrl ), Refresh ) ;}}function DeleteFolder( folderName, folderPath ){if (confirm('Are you sure you wish to delete \'' + folderName + '\' and all files in it?')) {oConnector.SendCommand( 'DeleteFolder', "FolderName=" + escape( folderPath + folderName ), Refresh ) ;}}
<!--Code highlighting produced by Actipro CodeHighlighter (freeware)http://www.CodeHighlighter.com/-->oHtml.Append( oListManager.GetFolderRowHtml( sFolderName, sCurrentFolderPath + sFolderName + "/", sCurrentFolderUrl ) ) ;
<!--Code highlighting produced by Actipro CodeHighlighter (freeware)http://www.CodeHighlighter.com/-->function DeleteFile( $resourceType, $currentFolder ) {$file = $_SERVER['DOCUMENT_ROOT'].$_GET['FileUrl'];if (is_file($file)) {unlink($file);} else {echo '<error number="1? originaldescription=”unable to locate file">';}}function DeleteFolder( $resourceType, $currentFolder ) {$folder = $_SERVER['DOCUMENT_ROOT'].$_GET['FolderName'];if (is_dir($folder) ) {DELETE_RECURSIVE_DIRS($folder);} else {echo '<error number="2? originaldescription=" unable to locate folder>';}}function DELETE_RECURSIVE_DIRS($dirname) { // recursive function to delete// all subdirectories and contents:if(is_dir($dirname))$dir_handle=opendir($dirname);while($file=readdir($dir_handle)) {if($file!="." && $file!="..") {if(!is_dir($dirname."/".$file)) {unlink ($dirname."/".$file);} else {DELETE_RECURSIVE_DIRS($dirname."/".$file);}}}closedir($dir_handle);rmdir($dirname);}<div class="clear"> </div></error></error>