当前位置:首页 » 网站技术 » ASP

FSO操作示例(给初学者)

...

把下面代码存到一个ASP文件中即可,方便管理服务器上的文件

<title>FSO操作示例</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
%>

继续阅读
温故知新:几个经典的ASP应用
教你一次下载网页中的所有资源
ASP学习:不刷新页面筛选数据库中的数据
常用Response对象的使用详解
ASP编写完整的IP所在地搜索类
Form域中用Post提交容量大的数据
简单快捷实现ASP在线发邮件功能
用ASP实现远程批量文件改名
网页中用隐藏帧来实现三个应用
发表评论

昵称:
最新评论
暂时没有评论!