分享
 
 
 

深入学习ASP动态网页技术之对文件系统的管理

王朝asp·作者佚名  2006-11-24
窄屏简体版  字體: |||超大  

对于已经上传的文件,随着时间的漫长,内容的更替,这些上传文件就需要管理了。最常见的,则是对于一些上传文件的删除。那么,在线的文件删除则是通过FSO来实现。同时,在文件删除之前必须确定删除某个具体的文件或文件夹,这就需要能查看到所有的上传文件内容。

下面的这些内容是摘录在某BLOG现成内容,主要是提取精华方便自己的使用,也与大家共享。

在FSO浏览上传文件时需要到一些功能,这些功能已自定义为函数以公用,该文件内容如下,拷贝代码,保存为function.asp

<%

function getPathList(pathName) '获得路径的文件信息

dim FSO,ServerFolder,getInfo,getInfos,tempS

getInfo=""

Set FSO=Server.CreateObject("Scripting.FileSystemObject")

Set ServerFolder=FSO.GetFolder(Server.MapPath(pathName))

Dim ServerFolderList,ServerFolderEvery

Set ServerFolderList=ServerFolder.SubFolders

tempS=""

For Each ServerFolderEvery IN ServerFolderList

getInfo=getInfo&tempS&ServerFolderEvery.Name

tempS="*"

Next

getInfo=getInfo&"|"

Dim ServerFileList,ServerFileEvery

Set ServerFileList=ServerFolder.Files

tempS=""

For Each ServerFileEvery IN ServerFileList

getInfo=getInfo&tempS&ServerFileEvery.Name

tempS="*"

Next

Set FSO=Nothing

getInfos=split(getInfo,"|")

getPathList=getInfos

end function

function getFileInfo(FileName) '获取文件信息

dim FSO,File,FileInfo(3)

Set FSO=Server.CreateObject("Scripting.FileSystemObject")

if FSO.FileExists(Server.MapPath(FileName)) then

Set File=FSO.GetFile(Server.MapPath(FileName))

FileInfo(0)=File.Size

if FileInfo(0)/1000>1 then

FileInfo(0)=int(FileInfo(0)/1000)&" KB"

else

FileInfo(0)=FileInfo(0)&" Bytes"

end if

FileInfo(1)=lcase(right(FileName,4))

FileInfo(2)=File.DateCreated

FileInfo(3)=File.Type

end if

getFileInfo=FileInfo

Set FSO=Nothing

end function

function bc(t,s)

dim tl,sl,i

bc=false

sl=len(s)

tl=len(t)

if tl< sl then bc=true:exit function

for i=1 to sl

if mid(t,i,1)<>mid(s,i,1) then bc=true:exit function

next

end function

%>

要管理文件就必须先查看到这些上传的文件,该文件内容如下,拷贝代码,保存为showf.asp

<%@LANGUAGE="VBSCRIPT" CODEPAGE="936"%>

<meta http-equiv="Content-Type" content="text/html; charset=gb2312">

<!--#include file="function.asp" -->

<script>

function checkAll(){

for (i=0;i<document.forms[0].length;i++){

if (document.forms[0][i].tagName=="INPUT"){

if (document.forms[0][i].type=="checkbox")

{document.forms[0][i].checked="checked"}

}

}

}

</script>

<form action="delf.asp" method="post" onsubmit="if (confirm('是否删除选择的文件或文件夹')) {return true} else {return false}">

<input type="hidden" name="whatdo" value="DelFiles"/>

<%

AttPath=Request.QueryString("AttPath")

if len(AttPath)<1 then

AttPath="uploadfile"

elseif bc(server.mapPath(AttPath),server.mapPath("uploadfile")) then

AttPath="uploadfile"

end If

ArrFolders=split(getPathList(AttPath)(0),"*")

Arrfiles=split(getPathList(AttPath)(1),"*")

response.write (AttPath&"<br>")

if AttPath<>"uploadfile" then

arrUpFolders=split(AttPath,"/")

for i=0 to ubound(arrUpFolders)-1

arrUpFolder=arrUpFolder&TempF&arrUpFolders(i)

TempF="/"

next

end if

if len(arrUpFolder)>0 then

response.write "------<a href=""?AttPath="&arrUpFolder&""">返回上级目录</a><br>"

end if

for each ArrFolder in ArrFolders

response.write "<input name=""folders"" type=""checkbox"" value="""&AttPath&"/"&ArrFolder&"""/>&nbsp;[文件夹]<a href=""?AttPath="&AttPath&"/"&ArrFolder&""">"&ArrFolder&"</a><br>"

next

for each Arrfile in Arrfiles

response.write "<input name=""Files"" type=""checkbox"" value="""&AttPath&"/"&Arrfile&"""/>&nbsp;<a href="""&AttPath&"/"&Arrfile&""" target=""_blank"">"&Arrfile&"</a>&nbsp;&nbsp;"&getFileInfo(AttPath&"/"&Arrfile)(0)&" | "&getFileInfo(AttPath&"/"&Arrfile)(2)&" | "&getFileInfo(AttPath&"/"&Arrfile)(3)&"<br>"

next

%>

<input type="button" value="全选" onclick="checkAll()"/>

<input type="submit" name="Submit" value="删除所选的文件或文件夹"/>

</form>

在确认选择某文件或某文件夹删除后,action="delf.asp" ,将跳转到具体的删除文件的功能页,该文件内容如下,拷贝代码,保存为delf.asp

<!--#include file="function.asp" -->

<%

if Request.form("whatdo")="DelFiles" then

dim getFolders,getFiles,getFolder,getFile,getFolderCount,getFileCount

Dim FSODel

Set FSODel=Server.CreateObject("Scripting.FileSystemObject")

getFolders=split(Request.form("folders"),", ")

getFiles=split(Request.form("Files"),", ")

getFolderCount=0

getFileCount=0

for each getFolder in getFolders

if len(getPathList(getFolder)(1))>0 then

response.write getFolder&"文件夹内含有文件,无法删除!<a href=# onclick=history.go(-1)>返回</a>"

response.end

end if

if FSODel.FolderExists(Server.MapPath(getFolder)) then

FSODel.DeleteFolder Server.MapPath(getFolder),true

getFolderCount=getFolderCount+1

end if

next

for each getFile in getFiles

if FSODel.FileExists(Server.MapPath(getFile)) then

&n

[1] [2] 下一页

 
 
 
免责声明:本文为网络用户发布,其观点仅代表作者个人观点,与本站无关,本站仅提供信息存储服务。文中陈述内容未经本站证实,其真实性、完整性、及时性本站不作任何保证或承诺,请读者仅作参考,并请自行核实相关内容。
2023年上半年GDP全球前十五强
 百态   2023-10-24
美众议院议长启动对拜登的弹劾调查
 百态   2023-09-13
上海、济南、武汉等多地出现不明坠落物
 探索   2023-09-06
印度或要将国名改为“巴拉特”
 百态   2023-09-06
男子为女友送行,买票不登机被捕
 百态   2023-08-20
手机地震预警功能怎么开?
 干货   2023-08-06
女子4年卖2套房花700多万做美容:不但没变美脸,面部还出现变形
 百态   2023-08-04
住户一楼被水淹 还冲来8头猪
 百态   2023-07-31
女子体内爬出大量瓜子状活虫
 百态   2023-07-25
地球连续35年收到神秘规律性信号,网友:不要回答!
 探索   2023-07-21
全球镓价格本周大涨27%
 探索   2023-07-09
钱都流向了那些不缺钱的人,苦都留给了能吃苦的人
 探索   2023-07-02
倩女手游刀客魅者强控制(强混乱强眩晕强睡眠)和对应控制抗性的关系
 百态   2020-08-20
美国5月9日最新疫情:美国确诊人数突破131万
 百态   2020-05-09
荷兰政府宣布将集体辞职
 干货   2020-04-30
倩女幽魂手游师徒任务情义春秋猜成语答案逍遥观:鹏程万里
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案神机营:射石饮羽
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案昆仑山:拔刀相助
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案天工阁:鬼斧神工
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案丝路古道:单枪匹马
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案镇郊荒野:与虎谋皮
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案镇郊荒野:李代桃僵
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案镇郊荒野:指鹿为马
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案金陵:小鸟依人
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案金陵:千金买邻
 干货   2019-11-12
 
推荐阅读
 
 
 
>>返回首頁<<
 
靜靜地坐在廢墟上,四周的荒凉一望無際,忽然覺得,淒涼也很美
© 2005- 王朝網路 版權所有