fckeditor具有查看/重命名/删除功能
第一步 找到这个文件 /fckeditoreditorfilemanagerbrowserdefaultfrmresourceslist.html
将已经存在的代码修改为:
代码:
<font face="新宋体">oListManager.GetFolderRowHtml = function( folderName, folderPath )<br>
{<br>
// Build the link to view the folder.<br>
var sLink = '<a href="#" onclick="OpenFolder('' + ProtectPath( folderPath ) + '');return false;"><img src="/static/imghw/default1.png" data-src="images/Folder.gif" class="lazy" alt="" style="max-width:90%" style="max-width:90%" border="0"> ' ;<br>
<br>
var rLink = '</a><a href="#" title="Rename Folder" onclick="RenameFolder('' + folderName + '');return false;"><img src="/static/imghw/default1.png" data-src="images/rename.gif" class="lazy" style="max-width:90%" style="max-width:90%" border="0" alt="Rename Folder" title="Rename Folder"></a>' ;<br>
<br>
var dLink = '<a href="#" title="Delete Folder" onclick="DeleteFolder('' + folderName + '');return false;"><img src="/static/imghw/default1.png" data-src="images/delete.gif" class="lazy" style="max-width:90%" style="max-width:90%" border="0" alt="Delete Folder" title="Delete Folder">' ;<br>
<br>
var ssLink = rLink + dLink;<br>
return '<tr>' +<br>
'<td width="16"></td>
<td nowrap> ' +<br>
sLink +<br>
folderName +<br>
'</td>
<td align="right" nowrap>' + ssLink +<br>
'</td>
</tr>' ;<br>
}<br>
<br>
oListManager.GetFileRowHtml = function( fileName, fileUrl, fileSize )<br>
{<br>
var sIcon = oIcons.GetIcon( fileName ) ;<br>
<br>
// Build the link to view the file.<br>
var sLink = '</a><a href="#" onclick="OpenFile('' + ProtectPath( fileUrl ) + '');return false;"><img src="/static/imghw/default1.png" data-src="images/view.gif" class="lazy" alt="" sicon style="max-width:90%" style="max-width:90%" border="0"> ' ;<br>
<br>
var vLink = '</a><a href="'%20+%20ProtectPath(%20fileUrl%20)%20+%20'" target="_blank" title="View file"><img src="/static/imghw/default1.png" data-src="images/view.gif" class="lazy" style="max-width:90%" style="max-width:90%" border="0" alt="View File" title="View File"></a>' ;<br>
<br>
var rLink = '<a href="#" title="Rename file" onclick="RenameFile('' + fileName + '');return false;"><img src="/static/imghw/default1.png" data-src="images/rename.gif" class="lazy" style="max-width:90%" style="max-width:90%" border="0" alt="Rename File" title="Rename File"></a>' ;<br>
<br>
var dLink = '<a href="#" title="Delete file" onclick="DeleteFile('' + fileName + '');return false;"><img src="/static/imghw/default1.png" data-src="images/delete.gif" class="lazy" style="max-width:90%" style="max-width:90%" border="0" alt="Delete File" title="Delete File"></a>' ;<br>
<br>
<br>
// Get the file icon.<br>
var ssLink = vLink + rLink + dLink;<br>
return '<tr>' +<br>
'<td width="16"></td>
<td> ' +<br>
sLink +<br>
fileName +<br>
'' +<br>
'</td>
<td align="right" nowrap> ' +<br>
fileSize +<br>
' KB' + ssLink +<br>
'</td>
</tr>' ;<br>
}<br>
<br>
function OpenFolder( folderPath )<br>
{<br>
// Load the resources list for this folder.<br>
window.parent.frames['frmFolders'].LoadFolders( (folderPath) ) ;<br>
}<br>
<br>
function OpenFile( fileUrl )<br>
{<br>
window.top.opener.SetUrl( fileUrl.replace( '#', '%23' ) ) ;<br>
window.top.close() ;<br>
window.top.opener.focus() ;<br>
}<br>
<br>
function DeleteFolder( folderUrl )<br>
{<br>
if ( !confirm( 'Do you really delete the folder "' + folderUrl + '" ?' ) ) return false;<br>
<br>
oConnector.SendCommand( 'DeleteFolder', 'FolderName=' + ( encodeURI(folderUrl) ) , DeleteFolderCallBack ) ;<br>
}<br>
<br>
function DeleteFolderCallBack( fckXml )<br>
{<br>
var oNode = fckXml.SelectSingleNode( 'Connector/Error' ) ;<br>
var iErrorNumber = parseInt( oNode.attributes.getNamedItem('number').value ) ;<br>
var sErrorDescription = String( oNode.attributes.getNamedItem('originalDescription').value ) ;<br>
<br>
switch ( iErrorNumber )<br>
{<br>
case 0 :<br>
Refresh() ;<br>
break ;<br>
case 201 :<br>
alert( 'You have no permissions to delete the folder' ) ;<br>
break ;<br>
case 202 :<br>
alert( 'Invalid folder name' + sErrorDescription ) ;<br>
break ;<br>
case 203 :<br>
alert( 'Folder not exists' + sErrorDescription ) ;<br>
break ;<br>
default :<br>
alert( 'Error deleting folder. nError number: ' + iErrorNumber + ' nError description: ' + sErrorDescription ) ;<br>
break ;<br>
}<br>
}<br>
<br>
function DeleteFile(fileUrl)<br>
{<br>
if ( !confirm( 'Do you really delete the file "' + fileUrl + '" ?' ) ) return false;<br>
<br>
oConnector.SendCommand( 'DeleteFile', 'FileName=' + encodeURI( fileUrl ) , DeleteFileCallBack ) ;<br>
}<br>
<br>
function DeleteFileCallBack( fckXml )<br>
{<br>
var oNode = fckXml.SelectSingleNode( 'Connector/Error' ) ;<br>
var iErrorNumber = parseInt( oNode.attributes.getNamedItem('number').value ) ;<br>
var sErrorDescription = String( oNode.attributes.getNamedItem('originalDescription').value ) ;<br>
<br>
switch ( iErrorNumber )<br>
{<br>
case 0 :<br>
Refresh() ;<br>
break ;<br>
case 301 :<br>
alert( 'You have no permissions to delete the file' ) ;<br>
break ;<br>
case 302 :<br>
alert( 'Invalid file name' + sErrorDescription ) ;<br>
break ;<br>
case 303 :<br>
alert( 'File not exists' + sErrorDescription ) ;<br>
break ;<br>
default :<br>
alert( 'Error deleting file. nError number: ' + iErrorNumber + ' nError description: ' + sErrorDescription ) ;<br>
break ;<br>
}<br>
}<br>
<br>
function RenameFolder( folderName )<br>
{<br>
var newName = prompt('Please enter the new folder name for "' + folderName + '":', folderName);<br>
<br>
if ((newName != null) && (newName != '') && (newName != folderName)) {<br>
oConnector.SendCommand( 'RenameFolder', "FolderName=" + encodeURI(folderName) + "&NewName=" + encodeURI ( newName ), RenameFolderCallBack ) ;<br>
}<br>
}<br>
<br>
function RenameFolderCallBack( fckXml )<br>
{<br>
var oNode = fckXml.SelectSingleNode( 'Connector/Error' ) ;<br>
var iErrorNumber = parseInt( oNode.attributes.getNamedItem('number').value ) ;<br>
var sErrorDescription = String( oNode.attributes.getNamedItem('originalDescription').value ) ;<br>
<br>
switch ( iErrorNumber )<br>
{<br>
case 0 :<br>
Refresh() ;<br>
break ;<br>
case 401 :<br>
alert( 'You have no permissions to rename the folder' ) ;<br>
break ;<br>
case 402 :<br>
alert( 'Invalid folder name' + sErrorDescription ) ;<br>
break ;<br>
case 403 :<br>
alert( 'is not Folder' + sErrorDescription ) ;<br>
break ;<br>
case 404 :<br>
alert( 'Folder not exists' + sErrorDescription ) ;<br>
break ;<br>
default :<br>
alert( 'Error renaming folder. nError number: ' + iErrorNumber + ' nError description: ' + sErrorDescription ) ;<br>
break ;<br>
}<br>
}<br>
<br>
function RenameFile( fileName )<br>
{<br>
var newName = prompt('Please enter the new file name for "' + fileName + '":', fileName);<br>
<br>
if ((newName != null) && (newName != '') && (newName != fileName)) {<br>
oConnector.SendCommand( 'RenameFile', "FileName=" + encodeURI( fileName ) + "&NewName=" + encodeURI( newName ), RenameFileCallBack ) ;<br>
}<br>
}<br>
<br>
function RenameFileCallBack( fckXml )<br>
{<br>
var oNode = fckXml.SelectSingleNode( 'Connector/Error' ) ;<br>
var iErrorNumber = parseInt( oNode.attributes.getNamedItem('number').value ) ;<br>
var sErrorDescription = String( oNode.attributes.getNamedItem('originalDescription').value ) ;<br>
<br>
switch ( iErrorNumber )<br>
{<br>
case 0 :<br>
Refresh() ;<br>
break ;<br>
case 501 :<br>
alert( 'You have no permissions to rename the file' ) ;<br>
break ;<br>
case 502 :<br>
alert( 'Invalid file name' + sErrorDescription ) ;<br>
break ;<br>
case 503 :<br>
alert( sErrorDescription + 'is not a file' ) ;<br>
break ;<br>
case 504 :<br>
alert( 'File not exists' + sErrorDescription ) ;<br>
break ;<br>
default :<br>
alert( 'Error renaming file. nError number: ' + ' nError description: ' + sErrorDescription ) ;<br>
break ;<br>
}<br>
}</font>
2。 第二步 找到这个文件 /fckeditoreditorfilemanagerbrowserdefaultfrmfolders.html
将函数OpenFolder(folderPath)最后一句修改为:
代码:
<font face="新宋体">var agent = navigator.userAgent;<br>
if(agent.indexOf('MSIE') != -1 || agent.indexOf('Trident') != -1) {<br>
window.parent.frames['frmResourcesList'].LoadResources( oConnector.ResourceType, (folderPath) ) ;<br>
}else{<br>
window.parent.frames['frmResourcesList'].LoadResources( oConnector.ResourceType, encodeURI(folderPath) ) ;<br>
}</font>
3。第三步,找到fckeditoreditorfilemanagerbrowserdefaultbrowser.html
添加函数:
代码:
<font face="新宋体">function selectBrowser(str) {<br>
var agent = navigator.userAgent;<br>
if(agent.indexOf('Gecko') != -1) {<br>
return encodeURIComponent(str);<br>
}else if(agent.indexOf('MSIE') != -1 || agent.indexOf('Trident') != -1) {<br>
return str;<br>
}else{<br>
return encodeURIComponent(str);<br>
}<br>
}</font>
第79行修改为: oConnector.ConnectorUrl += 'ServerPath=' + selectBrowser( sServerPath ) + '&' ;
第91行修改为: sUrl += '&CurrentFolder=' + selectBrowser( this.CurrentFolder ) ;
4。第四步 再找这个文件 fckeditoreditorfilemanagerconnectorsphpcommands.php
添加:
代码:
<font face="新宋体"> header('Content-Type:text/html;charset=UTF-8');<br>
function DeleteFolder( $resourceType, $currentFolder ) {<br>
$sFolderName = $_GET['FolderName']; <br>
$sErrorMsg = ''; <br>
$sServerDir = ServerMapFolder( $resourceType, $currentFolder . "/" . $sFolderName ,'DeleteFolder');<br>
/*if(empty($_cookie[xxxxxx])) {<br>
$sErrorNumber = "201"; //permissions<br>
}else */ if(empty($_GET['FolderName']) or (!is_dir($sServerDir))) {<br>
$sErrorNumber = "202"; //Invalid Folder Name.<br>
$sErrorMsg = $sFolderName;<br>
}else if(!file_exists($sServerDir)) {<br>
$sErrorNumber = "203"; // Folder not exists<br>
$sErrorMsg = $sFolderName;<br>
echo $sFolderName;exit();<br>
}else{<br>
if(@rmdir($sServerDir)) {<br>
$sErrorNumber = "0";//success<br>
}else{<br>
$sErrorNumber = "222";<br>
$sErrorMsg = "目录删除失败,原因:1。目录不为空n2。没有权限";<br>
}<br>
}<br>
echo '<error number="' . $sErrorNumber . '" originaldescription="' . ConvertToXmlAttribute( $sErrorMsg ) . '"></error>' ;<br>
}<br>
<br>
function DeleteFile( $resourceType, $currentFolder ) {<br>
$sFileName = iconv("utf-8","gbk",$_GET['FileName']);<br>
$sErrorMsg = "";<br>
<br>
$sServerDir = ServerMapFolder( $resourceType, $currentFolder . "/" . $sFileName ,'DeleteFile');<br>
/*if(empty($_COOKIE['hazysuser'])) {<br>
$sErrorNumber = "301"; //Security Error.<br>
}else*/ if( empty($_GET['FileName']) or (!is_file($sServerDir))) {<br>
$sErrorNumber = "302"; //Invalid File Name.<br>
$sErrorMsg = $sFileName;<br>
}else if(!file_exists($sServerDir)) {<br>
$sErrorNumber = "303"; //File not exists.<br>
$sErrorMsg = $sFileName;<br>
}else{<br>
if(@unlink($sServerDir)) {<br>
$sErrorNumber = "0";<br>
}else{<br>
$sErrorNumber = "333";<br>
$sErrorMsg = "无法删除此文件,原因:n1。没有权限。n2。必须在DOS下才能删除的特殊文件";<br>
}<br>
}<br>
echo '<error number="' . $sErrorNumber . '" . converttoxmlattribute></error>';<br>
}<br>
<br>
function RenameFolder( $resourceType, $currentFolder ) {<br>
$sErrorMsg = '';<br>
$sFolderName = urldecode(mb_convert_encoding($_GET['FolderName'],"gbk","utf-8"));<br>
$sNewName = urldecode(mb_convert_encoding($_GET['NewName'],"gbk","utf-8"));<br>
$sServerDir = ServerMapFolder( $resourceType, $currentFolder . "/" . $sFolderName ,'RenameFolder');<br>
$sNewDir = ServerMapFolder( $resourceType, $currentFolder . "/" . $sNewName ,'RenameFolder' );<br>
<br>
<br>
/*if( empty($_COOKIE[xxxxxx])) {<br>
$sErrorNumber = "401";<br>
}else */if ( empty($_GET['FolderName']) or empty($_GET['NewName']) ) {<br>
$sErrorNumber = "402";//Invalid Folder Name.<br>
$sErrorMsg = $sFolderName .' != '.$sNewName;<br>
/*}else if (!is_dir($sServerDir)) {<br>
$sErrorNumber = "403"; //is not Folder<br>
$sErrorMsg = $sFolderName.' is not Folder';<br>
}else if (!file_exists($sServerDir)) {<br>
$sErrorNumber = "404"; //Folder not exists.<br>
$sErrorMsg = $sFolderName;*/<br>
}else {<br>
if(rename($sServerDir,$sNewDir,stream_context_create() )) {<br>
$sErrorNumber = "0";<br>
}else{<br>
$sErrorNumber = "444";<br>
$sErrorMsg = "无法修改目录名称:".$sFolderName.'为'.$sNewName.'。';<br>
}<br>
}<br>
echo '<error number="' . $sErrorNumber . '" . converttoxmlattribute></error>';<br>
}<br>
<br>
function RenameFile( $resourceType, $currentFolder ) {<br>
$sFileName = iconv("utf-8","gbk",$_GET['FileName']);<br>
$sNewName = iconv("utf-8","gbk",$_GET['NewName']);<br>
$sErrorMsg = '';<br>
$sServerDir = ServerMapFolder( $resourceType, $currentFolder . "/" . $sFileName ,'RenameFile');<br>
$sNewDir = ServerMapFolder( $resourceType, $currentFolder . "/" . $sNewName ,'RenameFile');<br>
<br>
/*if(empty($_COOKIE[xxxxxx])) {<br>
$sErrorNumber = "501";<br>
}else */if( empty($_GET['FileName']) or empty($_GET['NewName']) ) {<br>
$sErrorNumber = "502";<br>
}else if(!is_file($sServerDir)) { <br>
$sErrorNumber = '503';<br>
$sErrorMsg = $sFileName .' is not a file';<br>
}else if(!file_exists($sServerDir)) {<br>
$sErrorNumber = '504';<br>
$sErrorMsg = $sFileName .' is not exists';<br>
}else{<br>
if(rename($sServerDir,$sNewDir)) {<br>
$sErrorNumber = "0";<br>
}else{<br>
$sErrorNumber = "555";<br>
$sErrorMsg = "无法重命名此文件:".$sServerDir;<br>
}<br>
}<br>
echo '<error number="' . $sErrorNumber . '" . converttoxmlattribute></error>';<br>
}</font>
修改function GetFoldersAndFiles( $resourceType, $currentFolder )函数,并添加以下内容:
代码:
<font face="新宋体">$agent = $_SERVER['HTTP_USER_AGENT'];<br>
if(stripos($agent,"gecko")>0) {<br>
$currentFolder = urldecode($currentFolder);<br>
}<br>
if(stripos($agent,"gecko")>0) { <br>
$sServerDir = iconv("utf-8","gbk",$sServerDir);<br>
}</font>
5。第五步 fckeditoreditorfilemanagerconnectorsphpconfig.php
第28行修改为:$Config['ConfigAllowedCommands'] = array('QuickUpload', 'FileUpload', 'GetFolders', 'GetFoldersAndFiles', 'CreateFolder','DeleteFolder','DeleteFile','RenameFolder','RenameFile') ;
6。第六步 fckeditoreditorfilemanagerconnectorsphpconnector.php
在相应地方添加以下代码:
代码:
<font face="新宋体"> case "DeleteFolder":<br>
DeleteFolder( $sResourceType, $sCurrentFolder );<br>
break ;<br>
case "DeleteFile":<br>
DeleteFile( $sResourceType, $sCurrentFolder );<br>
break ;<br>
case "RenameFolder":<br>
RenameFolder( $sResourceType, $sCurrentFolder );<br>
break ;<br>
case "RenameFile":<br>
RenameFile( $sResourceType, $sCurrentFolder );<br>
break ;</font>
7。第七步 fckeditoreditorfilemanagerconnectorsphpio.php
第70行函数function CreateServerFolder( $folderPath, $lastFolder = null )里添加:
$folderPath = iconv("utf-8","gbk",$folderPath);
8。第八步 fckeditoreditorfilemanagerconnectorsphputil.php
第50行修改为:
return (mb_convert_encoding(htmlspecialchars($value),"UTF-8","GBK")) ;
上面的为完全版,但要自己动手。在 http://www.uushare.com/user/littlenew/file/1942702里有免费版,不过里面某些代码已经加密,请勿破解,保证不含任何恶意代码,也不会有反向连接等一系列其它联网活动。
[url= http://www.hazytime.cn/article/article.asp?/6370-1-1.html]也可以到我的网站查看[/url]。
1。我的IE8在apache下不能浏览中文目录里的图片,怎么办?
在IE8的设置里选中:发送 UTF-8 URL
2。免费版本已经存在的问题:在firefox不能修改、删除文件,只能上传文件.
测试环境:windows 2003 + apache 2.2.11 + PHP5.3 + UTF-8(不带BOM)

热AI工具

Undresser.AI Undress
人工智能驱动的应用程序,用于创建逼真的裸体照片

AI Clothes Remover
用于从照片中去除衣服的在线人工智能工具。

Undress AI Tool
免费脱衣服图片

Clothoff.io
AI脱衣机

AI Hentai Generator
免费生成ai无尽的。

热门文章

热工具

记事本++7.3.1
好用且免费的代码编辑器

SublimeText3汉化版
中文版,非常好用

禅工作室 13.0.1
功能强大的PHP集成开发环境

Dreamweaver CS6
视觉化网页开发工具

SublimeText3 Mac版
神级代码编辑软件(SublimeText3)

热门话题

“你的组织要求你更改PIN消息”将显示在登录屏幕上。当在使用基于组织的帐户设置的电脑上达到PIN过期限制时,就会发生这种情况,在该电脑上,他们可以控制个人设备。但是,如果您使用个人帐户设置了Windows,则理想情况下不应显示错误消息。虽然情况并非总是如此。大多数遇到错误的用户使用个人帐户报告。为什么我的组织要求我在Windows11上更改我的PIN?可能是您的帐户与组织相关联,您的主要方法应该是验证这一点。联系域管理员会有所帮助!此外,配置错误的本地策略设置或不正确的注册表项也可能导致错误。即

Windows11将清新优雅的设计带到了最前沿;现代界面允许您个性化和更改最精细的细节,例如窗口边框。在本指南中,我们将讨论分步说明,以帮助您在Windows操作系统中创建反映您的风格的环境。如何更改窗口边框设置?按+打开“设置”应用。WindowsI转到个性化,然后单击颜色设置。颜色更改窗口边框设置窗口11“宽度=”643“高度=”500“>找到在标题栏和窗口边框上显示强调色选项,然后切换它旁边的开关。若要在“开始”菜单和任务栏上显示主题色,请打开“在开始”菜单和任务栏上显示主题

默认情况下,Windows11上的标题栏颜色取决于您选择的深色/浅色主题。但是,您可以将其更改为所需的任何颜色。在本指南中,我们将讨论三种方法的分步说明,以更改它并个性化您的桌面体验,使其具有视觉吸引力。是否可以更改活动和非活动窗口的标题栏颜色?是的,您可以使用“设置”应用更改活动窗口的标题栏颜色,也可以使用注册表编辑器更改非活动窗口的标题栏颜色。若要了解这些步骤,请转到下一部分。如何在Windows11中更改标题栏的颜色?1.使用“设置”应用按+打开设置窗口。WindowsI前往“个性化”,然

您是否在Windows安装程序页面上看到“出现问题”以及“OOBELANGUAGE”语句?Windows的安装有时会因此类错误而停止。OOBE表示开箱即用的体验。正如错误提示所表示的那样,这是与OOBE语言选择相关的问题。没有什么可担心的,你可以通过OOBE屏幕本身的漂亮注册表编辑来解决这个问题。快速修复–1.单击OOBE应用底部的“重试”按钮。这将继续进行该过程,而不会再打嗝。2.使用电源按钮强制关闭系统。系统重新启动后,OOBE应继续。3.断开系统与互联网的连接。在脱机模式下完成OOBE的所

任务栏缩略图可能很有趣,但它们也可能分散注意力或烦人。考虑到您将鼠标悬停在该区域的频率,您可能无意中关闭了重要窗口几次。另一个缺点是它使用更多的系统资源,因此,如果您一直在寻找一种提高资源效率的方法,我们将向您展示如何禁用它。不过,如果您的硬件规格可以处理它并且您喜欢预览版,则可以启用它。如何在Windows11中启用任务栏缩略图预览?1.使用“设置”应用点击键并单击设置。Windows单击系统,然后选择关于。点击高级系统设置。导航到“高级”选项卡,然后选择“性能”下的“设置”。在“视觉效果”选

在Windows11上的显示缩放方面,我们都有不同的偏好。有些人喜欢大图标,有些人喜欢小图标。但是,我们都同意拥有正确的缩放比例很重要。字体缩放不良或图像过度缩放可能是工作时真正的生产力杀手,因此您需要知道如何对其进行自定义以充分利用系统功能。自定义缩放的优点:对于难以阅读屏幕上的文本的人来说,这是一个有用的功能。它可以帮助您一次在屏幕上查看更多内容。您可以创建仅适用于某些监视器和应用程序的自定义扩展配置文件。可以帮助提高低端硬件的性能。它使您可以更好地控制屏幕上的内容。如何在Windows11

屏幕亮度是使用现代计算设备不可或缺的一部分,尤其是当您长时间注视屏幕时。它可以帮助您减轻眼睛疲劳,提高易读性,并轻松有效地查看内容。但是,根据您的设置,有时很难管理亮度,尤其是在具有新UI更改的Windows11上。如果您在调整亮度时遇到问题,以下是在Windows11上管理亮度的所有方法。如何在Windows11上更改亮度[10种方式解释]单显示器用户可以使用以下方法在Windows11上调整亮度。这包括使用单个显示器的台式机系统以及笔记本电脑。让我们开始吧。方法1:使用操作中心操作中心是访问

Windows上的激活过程有时会突然转向显示包含此错误代码0xc004f069的错误消息。虽然激活过程已经联机,但一些运行WindowsServer的旧系统可能会遇到此问题。通过这些初步检查,如果这些检查不能帮助您激活系统,请跳转到主要解决方案以解决问题。解决方法–关闭错误消息和激活窗口。然后,重新启动计算机。再次从头开始重试Windows激活过程。修复1–从终端激活从cmd终端激活WindowsServerEdition系统。阶段–1检查Windows服务器版本您必须检查您使用的是哪种类型的W
