Heim  >  Artikel  >  Backend-Entwicklung  >  [原创]让FCKeditor的File manager支持”删除” (php),该怎么处理

[原创]让FCKeditor的File manager支持”删除” (php),该怎么处理

WBOY
WBOYOriginal
2016-06-13 13:41:581193Durchsuche

[原创]让FCKeditor的File manager支持”删除” (php)
FCKeditor是一款很好用的所见即所得编辑器, 内置的File manager也实现了基本的文件管理功能, 唯一遗憾的是, 不支持删除…

没关系, 其实只需以下几步就可以实现删除文件和文件夹:

1, fckeditor\editor\filemanager\browser\default\frmresourceslist.html, 编辑:

PHP code
<!--

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 ) ;
}
}

4, fckeditor\editor\filemanager\browser\default\frmresourceslist.html, 编辑:
PHP code
<!--

Code highlighting produced by Actipro CodeHighlighter (freeware)
http://www.CodeHighlighter.com/

-->oHtml.Append( oListManager.GetFolderRowHtml( sFolderName, sCurrentFolderPath + sFolderName + "/", sCurrentFolderUrl ) ) ;

 

5, fckeditor\editor\filemanager\connectors\php\commands.php, 添加:
PHP code
<!--

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>
Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn