📄 fso.asp
字号:
<!--#include file="../../ACT.Function.asp"--><%
Dim TypeSql,RsTypeObj,LableSql,RsLableObj
Dim CurrPath,FsoObj,SubFolderObj,FolderObj,FileObj,i,FsoItem,OType
Dim ParentPath,FileExtName,AllowShowExtNameStr,str_CurrPath
Dim ShowVirtualPath,sRootDir,ACT_ROOT
if ACT_ROOT<>"" then sRootDir=ACT_ROOT else sRootDir=""
Set FsoObj = Server.CreateObject("scripting.filesystemobject")
OType = Request("Type")
if OType <> "" then
Dim Path,PhysicalPath
if OType = "DelFolder" Then
If Not ACTCMS.ChkAdmin() Then '超级管理员检测
Call Actcms.ACTCMSErr("")
End If
Path = Request("Path")
if Path <> "" then
Path = Server.MapPath(Path)
if FsoObj.FolderExists(Path) = true then FsoObj.DeleteFolder Path
end if
elseif OType = "DelFile" Then
If Not ACTCMS.ChkAdmin() Then '超级管理员检测
Call Actcms.ACTCMSErr("")
End If
Dim DelFileName
Path = Request("Path")
DelFileName = Request("FileName")
if (DelFileName <> "") And (Path <> "") then
Path = Server.MapPath(Path)
if FsoObj.FileExists(Path & "\" & DelFileName) = true then FsoObj.DeleteFile Path & "\" & DelFileName
end if
elseif OType = "AddFolder" Then
If Not ACTCMS.ChkAdmin() Then '超级管理员检测
Call Actcms.ACTCMSErr("")
End If
Path = Request("Path")
if Path <> "" then
Path = Server.MapPath(Path)
if FsoObj.FolderExists(Path) = True then
Response.Write("<script>alert('目录已经存在');</script>")
else
FsoObj.CreateFolder Path
end if
end if
elseif OType = "FileReName" then
Dim NewFileName,OldFileName
Path = Request("Path")
if Path <> "" then
NewFileName = Request("NewFileName")
OldFileName = Request("OldFileName")
if (NewFileName <> "") And (OldFileName <> "") then
PhysicalPath = Server.MapPath(Path) & "\" & OldFileName
if FsoObj.FileExists(PhysicalPath) = True then
PhysicalPath = Server.MapPath(Path) & "\" & NewFileName
if FsoObj.FileExists(PhysicalPath) = False then
Set FileObj = FsoObj.GetFile(Server.MapPath(Path) & "\" & OldFileName)
FileObj.Name = NewFileName
Set FileObj = Nothing
end if
end if
end if
end if
elseif OType = "FolderReName" then
Dim NewPathName,OldPathName
Path = Request("Path")
if Path <> "" then
NewPathName = Request("NewPathName")
OldPathName = Request("OldPathName")
if (NewPathName <> "") And (OldPathName <> "") then
PhysicalPath = Server.MapPath(Path) & "\" & OldPathName
if FsoObj.FolderExists(PhysicalPath) = True then
PhysicalPath = Server.MapPath(Path) & "\" & NewPathName
if FsoObj.FolderExists(PhysicalPath) = False then
Set FileObj = FsoObj.GetFolder(Server.MapPath(Path) & "\" & OldPathName)
FileObj.Name = NewPathName
Set FileObj = Nothing
end if
end if
end if
end if
end if
end if
ShowVirtualPath = Request("ShowVirtualPath")
AllowShowExtNameStr = "jpg,txt,gif,bmp,png"
CurrPath = Replace(Request("CurrPath"),"//","/")
if CurrPath = "" then
CurrPath = "/"
ParentPath = ""
else
ParentPath = Mid(CurrPath,1,InstrRev(CurrPath,"/")-1)
if ParentPath = "" then
ParentPath =sRootDir
end if
end If
On Error Resume Next
Set FolderObj = FsoObj.GetFolder(Server.MapPath(CurrPath))
Set SubFolderObj = FolderObj.SubFolders
Set FileObj = FolderObj.Files
Function CheckFileShowTF(AllowShowExtNameStr,ExtName)
if ExtName="" then
CheckFileShowTF = False
else
if InStr(1,AllowShowExtNameStr,ExtName) = 0 then
CheckFileShowTF = False
else
CheckFileShowTF = True
end if
end if
End Function
%>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=gb2312">
<title>文件和目录列表</title>
</head>
<style>
.TempletItem {
cursor: default;
}
.TempletSelectItem {
background-color:highlight;
cursor: default;
color: white;
}
</style>
<link href="../../Images/css1/css.css" rel="stylesheet" type="text/css">
<script language="JavaScript">
var ObjPopupMenu=window.createPopup();
document.oncontextmenu=new Function("return ShowMouseRightMenu(window.event);");
function ShowMouseRightMenu(event)
{
ContentMenuShowEvent();
var width=100;
var height=0;
var lefter=event.clientX;
var topper=event.clientY;
var ObjPopDocument=ObjPopupMenu.document;
var ObjPopBody=ObjPopupMenu.document.body;
var MenuStr='';
for (var i=0;i<ContentMenuArray.length;i++)
{
if (ContentMenuArray[i].ExeFunction=='seperator')
{
MenuStr+=FormatSeperator();
height+=16;
}
else
{
MenuStr+=FormatMenuRow(ContentMenuArray[i].ExeFunction,ContentMenuArray[i].Description,ContentMenuArray[i].EnabledStr);
height+=20;
}
}
MenuStr="<TABLE border=0 cellpadding=0 cellspacing=0 class=Menu width=100>"+MenuStr
MenuStr=MenuStr+"<\/TABLE>";
ObjPopDocument.open();
ObjPopDocument.write("<head><link type=\"text/css\" rel=\"stylesheet\"></head><body scroll=\"no\" onConTextMenu=\"event.returnValue=false;\" onselectstart=\"event.returnValue=false;\">"+MenuStr);
ObjPopDocument.close();
height+=4;
if(lefter+width > document.body.clientWidth) lefter=lefter-width;
ObjPopupMenu.show(lefter, topper, width, height, document.body);
return false;
}
function FormatSeperator()
{
var MenuRowStr="<tr><td height=16 valign=middle><hr><\/td><\/tr>";
return MenuRowStr;
}
function FormatMenuRow(MenuOperation,MenuDescription,EnabledStr)
{
var MenuRowStr="<tr "+EnabledStr+"><td align=left height=20 class=MouseOut onMouseOver=this.className='MouseOver'; onMouseOut=this.className='MouseOut'; valign=middle"
if (EnabledStr=='') MenuRowStr+=" onclick=\""+MenuOperation+"parent.ObjPopupMenu.hide();\"> ";
else MenuRowStr+="> ";
MenuRowStr=MenuRowStr+MenuDescription+"<\/td><\/tr>";
return MenuRowStr;
}
</script>
<body topmargin="0" leftmargin="0" onClick="SelectFolder();">
<table width="99%" border="0" align="center" cellpadding="2" cellspacing="0">
<%
if lcase(Trim(CurrPath))<> lcase(Trim(str_CurrPath)) then
%>
<tr title="上级目录<% = ParentPath %>" onClick="SelectUpFolder(this);" Path="<% = ParentPath %>" onDblClick="OpenParentFolder(this);">
<td> <table width="150" border="0" cellpadding="0" cellspacing="0">
<tr>
<td width="23"><font color="#FFFFFF"><img src="FileIcon/folder.gif" width="20" height="16"></font></td>
<td width="127" style="cursor:hand">返回上一级...</td>
</tr>
</table></td>
<td width="28%"><div align="center"><font color="#FFFFFF">-</font></div></td>
<td width="23%"><div align="center"><font color="#FFFFFF">-</font></div></td>
</tr>
<%
end if
for each FsoItem In SubFolderObj
%>
<tr>
<td width="49%"><table border="0" cellspacing="0" cellpadding="0">
<tr title="双击鼠标进入此目录">
<td><img src="FileIcon/folder.gif" width="20" height="16"></td>
<td > <span style="cursor:hand" class="TempletItem" Path="<% = FsoItem.name %>" onClick="ClearPicUrl()"; onDblClick="OpenFolder(this);">
<% = FsoItem.name %>
</span> </td>
</tr>
</table></td>
<td><div align="center">文件夹</div></td>
<td><div align="center">
<% = FsoItem.Size %>
</div></td>
</tr>
<%
next
for each FsoItem In FileObj
FileExtName = LCase(Mid(FsoItem.name,InstrRev(FsoItem.name,".")+1))
if True then
%>
<tr title="双击鼠标选择此文件">
<td> <span style="cursor:hand" class="TempletItem" File="<% = FsoItem.name %>" onDblClick="SetFile(this);" onClick="SelectFile(this);">
<img src="FileIcon/doc.gif" width="16" height="16">
<% = FsoItem.name %>
</span> </td>
<td><div align="center">
<% = FsoItem.Type %>
</div></td>
<td><div align="center">
<% = FsoItem.Size %>
字节 </div></td>
</tr>
<%
end if
next
%>
</table>
</body>
</html>
<%
Set FsoObj = Nothing
Set SubFolderObj = Nothing
Set FileObj = Nothing
%>
<script language="JavaScript">
var CurrPath='<% = CurrPath %>';
var ACT_ROOT='<% = ACT_ROOT %>';
var ShowVirtualPath='<% = ShowVirtualPath %>';
var SelectedObj=null;
var ContentMenuArray=new Array();
DocumentReadyTF=false;
function document.onreadystatechange()
{
if (DocumentReadyTF) return;
InitialClassListContentMenu();
DocumentReadyTF=true;
}
function ContentMenuFunction(ExeFunction,Description,EnabledStr)
{
this.ExeFunction=ExeFunction;
this.Description=Description;
this.EnabledStr=EnabledStr;
}
function ContentMenuShowEvent()
{
SelectFolder();
}
function InitialClassListContentMenu()
{
<%Response.write "ContentMenuArray[ContentMenuArray.length]=new ContentMenuFunction(""parent.AddFolderOperation();"",'新建目录','');"%>
<%Response.write "ContentMenuArray[ContentMenuArray.length]=new ContentMenuFunction(""if (confirm('确定要删除吗?')==true) parent.DelFolderFile();"",'删除','disabled');"%>
}
function SelectFolder()
{
Obj=event.srcElement,DisabledContentMenuStr='';
if (SelectedObj!=null) SelectedObj.className='TempletItem';
if ((Obj.Path!=null)||(Obj.File!=null))
{
Obj.className='TempletSelectItem';
SelectedObj=Obj;
}
else SelectedObj=null;
if (SelectedObj!=null) DisabledContentMenuStr='';
else DisabledContentMenuStr=',删除,重命名,';
for (var i=0;i<ContentMenuArray.length;i++)
{
if (DisabledContentMenuStr.indexOf(ContentMenuArray[i].Description)!=-1) ContentMenuArray[i].EnabledStr='disabled';
else ContentMenuArray[i].EnabledStr='';
}
}
function SelectFile(Obj)
{
for (var i=0;i<document.all.length;i++)
{
if (document.all(i).className=='TempletSelectItem') document.all(i).className='TempletItem';
}
Obj.className='TempletSelectItem';
PreviewFile(Obj);
}
function OpenParentFolder(Obj)
{
location.href='fso.asp?CurrPath='+Obj.Path;
SearchOptionExists(parent.document.all.FolderSelectList,Obj.Path);
}
function OpenFolder(Obj)
{
var SubmitPath='';
if (CurrPath=='/') SubmitPath=CurrPath+Obj.Path;
else SubmitPath=CurrPath+'/'+Obj.Path;
location.href='fso.asp?CurrPath='+SubmitPath;
AddFolderList(parent.document.all.FolderSelectList,SubmitPath,SubmitPath);
}
function SelectUpFolder(Obj)
{
for (var i=0;i<document.all.length;i++)
{
if (document.all(i).className=='TempletSelectItem') document.all(i).className='TempletItem';
}
Obj.className='TempletSelectItem';
parent.UserUrl.value='';
}
function PreviewFile(Obj)
{
var Url='';
var Path=escape();
if (CurrPath=='/') Path=escape(CurrPath+Obj.File);
else Path=escape(CurrPath+'/'+Obj.File);
Url='print.asp?FilePath='+Path;
if (ACT_ROOT!='')
Path=Path.slice(ACT_ROOT.length+1)
parent.UserUrl.value=Path;
parent.frames["PreviewArea"].location=Url.toLowerCase();
}
function AddFolderList(SelectObj,Lable,LableContent)
{
var i=0,AddOption;
if (!SearchOptionExists(SelectObj,Lable))
{
AddOption = document.createElement("OPTION");
AddOption.text=Lable;
AddOption.value=LableContent;
SelectObj.add(AddOption);
SelectObj.options(SelectObj.length-1).selected=true;
}
}
function SearchOptionExists(Obj,SearchText)
{
var i;
for(i=0;i<Obj.length;i++)
{
if (Obj.options(i).text==SearchText)
{
Obj.options(i).selected=true;
return true;
}
}
return false;
}
function SetFile(Obj)
{
//if (ShowVirtualPath=='')
//{
var PathInfo='',TempPath='';
if (ACT_ROOT!='')
{
TempPath=CurrPath;
PathInfo=TempPath.substr(TempPath.indexOf(ACT_ROOT)+ACT_ROOT.length);
}
else
{
PathInfo=CurrPath;
}
//}
//else PathInfo=CurrPath;
if (CurrPath=='/') window.returnValue=PathInfo+Obj.File;
else window.returnValue=PathInfo+'/'+Obj.File;
window.close();
}
window.onunload=CheckReturnValue;
function CheckReturnValue()
{
if (typeof(window.returnValue)!='string') window.returnValue='';
}
function AddFolderOperation()
{
var ReturnValue=prompt('新建目录名:','');
if ((ReturnValue!='') && (ReturnValue!=null))
window.location.href='?Type=AddFolder&Path='+CurrPath+'/'+ReturnValue+'&CurrPath='+CurrPath;
}
function DelFolderFile()
{
if (SelectedObj!=null)
{
if (SelectedObj.Path!=null) window.location.href='?Type=DelFolder&Path='+CurrPath+'/'+SelectedObj.Path+'&CurrPath='+CurrPath;
if (SelectedObj.File!=null) window.location.href='?Type=DelFile&Path='+CurrPath+'&FileName='+SelectedObj.File+'&CurrPath='+CurrPath;
}
else alert('请选择要删除的目录');
}
function ClearPicUrl()
{
parent.UserUrl.value='';
}
</script>
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -