fso|初學|樣本
把下面代碼存到一個ASP檔案中即可,方便管理伺服器上的檔案
<title>http://bbs.asp2004.net 製作:小灰 QQ:103895</title>
<meta http-equiv="Content-Type" content="text/html; charset=gb2312">
<style type="text/css">
<!--
a:link {
font-size: 9pt;
}
a:visited {
font-size: 9pt;
}
a:hover {
font-size: 9pt;
}
a:active {
font-size: 9pt;
}
body {
font-size: 9pt;
margin-left: 0px;
margin-top: 0px;
margin-right: 0px;
margin-bottom: 0px;
line-height: 20px;
}
td {
font-size: 9pt;
line-height: 20px;
}
-->
</style>
<%
action=request.QueryString("action")
temp=split(request.ServerVariables("URL"),"/")
url=temp(ubound(temp))
chklogin()
select case action
case "logout"
logout()
case "delfile"
delfile()
case "savefile"
savefile()
case "editfile"
fileedit()
case "newfile"
filenew()
case "upload"
upload()
case "saveupload"
saveupload()
case "delfolder"
delfolder()
case "savefolder"
savefolder()
case "editfolder"
editfolder()
case "newfolder"
newfolder()
case else
foldername=request.QueryString("foldername")
filename=request.QueryString("filename")
path=foldername
if path="" then path=server.MapPath("./")
ShowFolderList(path)
end select
Function ShowFolderList(folderspec)
temp=request.ServerVariables("HTTP_REFERER")
temp=left(temp,Instrrev(temp,"/"))
temp1=len(folderspec)-len(server.MapPath("./"))-1
if temp1>0 then
temp1=right(folderspec,cint(temp1))
elseif temp1=-1 then
temp1=""
end if
tempurl=temp+replace(temp1,"\","/")+"/"
Set fso = CreateObject("Scripting.FileSystemObject")
upfolderspec=fso.GetParentfoldername(folderspec&"\")
%>
<a href="<%= url%>?action=newfolder&foldername=<%= folderspec%>">建立檔案夾</a> | <a href="<%= url%>?action=newfile&filename=<%= folderspec&"\"%>">建立檔案</a> | <a href="<%= url%>?action=upload">上傳檔案</a> | <a href="<%= url%>?foldername=<%= upfolderspec%>">向上</a> | <a href="file.asp">返回首頁</a> | <a href="<%= url%>?action=logout">退出</a>
<table width="100%" border="0" cellpadding="0" cellspacing="1" bgcolor="#6595D6">
<tr bgcolor="#E4E8EF">
<td width="64%"><div align="center">名稱</div></td>
<td width="7%"><div align="right">大小</div></td>
<td width="6%"><div align="center">類型</div></td>
<td width="15%"><div align="left">修改時間</div></td>
<td width="8%"><div align="center">操作</div></td>
</tr>
<%
'列出目錄
Set f = fso.GetFolder(folderspec)
Set fc = f.SubFolders
For Each f1 in fc
%>
<tr bgcolor="#E4E8EF" onMouseOut=this.bgColor='#E4E8EF'; onMouseOver=this.bgColor='#FFFFFF';>
<td><a href="<%= url%>?foldername=<%= folderspec%>\<%= f1.name%>"><%= f1.name%></a></td>
<td><div align="right"><%= f1.size%></div></td>
<td><div align="center">檔案夾</div></td>
<td><div align="left"><%= f1.datelastmodified%></div></td>
<td><a href="<%= url%>?action=editfolder&foldername=<%= folderspec&"\"&f1.name%>">修改</a> <a href="<%= url%>?action=delfolder&foldername=<%= folderspec&"\"&f1.name%>" onclick="{if(confirm('刪除檔案夾<<%= f1.name%>>麼?')){return true;}return false;}">刪除</a></td>
</tr>
<%
Next
'列出檔案
Set fc = f.Files
For Each f1 in fc
%>
<tr bgcolor="#E4E8EF" onMouseOut=this.bgColor='#E4E8EF'; onMouseOver=this.bgColor='#FFFFFF';>
<td><a href="<%= tempurl+f1.name%>" target="_blank"><%= f1.name%></a></td>
<td><div align="right"><%= f1.size%></div></td>
<td><div align="left"></div></td>
<td><div align="left"><%= f1.datelastmodified%></div></td>
<td><a href="<%= url%>?action=editfile&filename=<%= folderspec&"\"&f1.name%>">修改</a> <a href="<%= url%>?action=delfile&filename=<%= folderspec&"\"&f1.name%>" onclick="{if(confirm('刪除檔案<<%= f1.name%>>麼?')){return true;}return false;}">刪除</a></td>
</tr>
<%
Next
set fso=nothing
%>
</table>
<%
End Function
'檔案操作
function delfile()
filename=request.QueryString("filename")
set fso=server.CreateObject("scripting.filesystemobject")
fso.deletefile(filename)
tempurl=url&"?foldername="&fso.GetParentfoldername(filename)
set fso=nothing
response.Redirect(tempurl)
end function
function savefile()
filename=request.Form("filename")
content=request.Form("content")
filename1=request.Form("filename1")
if request.ServerVariables("PATH_TRANSLATED")<>filename then
set fso=server.CreateObject("scripting.filesystemobject")
set f1=fso.opentextfile(filename,2,true)
f1.write(content)
f1.close
if filename1<>"" and filename1<>filename then fso.deletefile(filename1)
tempurl=url&"?foldername="&fso.GetParentfoldername(filename)
set fso=nothing
end if
response.Redirect(tempurl)
end function
function filenew()
filename=request.QueryString("filename")
content=""
fileform filename,content,filename1
end function
function fileedit()
filename=request.QueryString("filename")
filename1=request.QueryString("filename")
set fso=server.CreateObject("scripting.filesystemobject")
set f1=fso.opentextfile(filename,1,true)
content=server.HTMLEncode(f1.readall)
f1.close
set fso=nothing
fileform filename,content,filename1
end function
function fileform(filename,content,filename1)
%>
<table width="100%" border="0" align="center" cellpadding="0" cellspacing="0">
<form name="form1" method="post" action="<%= url%>?action=savefile">
<tr>
<td><input name="filename1" type="hidden" value="<%= filename1%>"><input name="filename" type="text" value="<%= filename%>" style="width:100%"></td>
</tr>
<tr>
<td><textarea name="content" wrap="VIRTUAL" style="width:100%;height:100%;font:Arial,Helvetica,sans-serif;" onKeyUp="style.height=this.scrollHeight;"><%= content%></textarea></td>
</tr>
<tr>
<td><center><input type="submit" name="Submit" value="儲存" style="width:200"><input type="reset" name="Submit2" value="重設" style="width:200"></center></td>
</tr>
</form>
</table>
<%
end function
'檔案夾操作函數
function delfolder()
foldername=request.QueryString("foldername")
set fso=server.CreateObject("scripting.filesystemobject")
tempurl=url&"?foldername="&fso.GetParentfoldername(foldername)
fso.deletefolder(foldername)
set fso=nothing
response.Redirect(tempurl)
end function
function savefolder()
foldername=request.Form("foldername")
foldername1=request.Form("foldername1")
set fso=server.CreateObject("scripting.filesystemobject")
if foldername1="" then
set f=fso.createfolder(foldername)
else
fso.MoveFolder foldername1,foldername
end if
tempurl=url&"?foldername="&f
set fso=nothing
response.Redirect(tempurl)
end function
function newfolder()
foldername=request.QueryString("foldername")&"\"
formfolder foldername,foldername1
end function
function editfolder()
foldername=request.QueryString("foldername")
foldername1=request.QueryString("foldername")
formfolder foldername,foldername1
end function
function formfolder(foldername,foldername1)
%>
<table width="100%" border="0" align="center" cellpadding="0" cellspacing="0">
<form name="form1" method="post" action="<%= url%>?action=savefolder">
<tr><td><input name="foldername1" type="hidden" value="<%= foldername1%>"><input name="foldername" type="text" value="<%= foldername%>" style="width:100%"></td></tr>
<tr><td><center><input type="submit" name="Submit" value="儲存" style="width:200"><input type="reset" name="Submit2" value="重設" style="width:200"></center></td></tr>
</form>
</table>
<%
end function
function upload()
%>
<form action="file.asp?action=saveupload" method="post" enctype="multipart/form-data" name="form2">
<div align="center">有待完成
<input type="file" name="file" style="width:80%">
<input type="submit" name="Submit" value="提交">
</div>
</form>
<%
end function
function saveupload()
'有待實現
end function
'登陸
function chklogin()
password=request.Form("password")
if password="ok" then session("login")="login"
if session("login")<>"login" then login
end function
function login()
%>
<form name="form1" method="post" action="<%= url%>?action=chklogin">
<center>請輸入密碼:<input name="password" type="password"><input type="submit" name="Submit" value="登陸"></center>
</form>
<%
response.End()
end function
function logout()
session.Abandon()
response.Redirect(url)
end function
%>