ASP网页设计深切进修ASP静态网页手艺之对文件体系的...
asp是基于web的一种编程技术,可以说是cgi的一种。它可以完成以往cgi程序的所有功能,如计数器、留言簿、公告板、聊天室等等。静态|网页 关于已上传的文件,跟着工夫的冗长,内容的更替,这些上传文件就必要办理了。最多见的,则是关于一些上传文件的删除。那末,在线的文件删除则是经由过程FSO来完成。同时,在文件删除之前必需断定删除某个详细的文件或文件夹,这就必要能检察到一切的上传文件内容。上面的这些内容是摘录在某BLOG现成内容,次要是提取精髓便利本人的利用,也与人人共享。
在FSO扫瞄上传文件时必要到一些功效,这些功效已自界说为函数以公用,该文件内容以下,拷贝代码,保留为function.asp
<%
functiongetPathList(pathName)取得路径的文件信息
dimFSO,ServerFolder,getInfo,getInfos,tempS
getInfo=""
SetFSO=Server.CreateObject("Scripting.FileSystemObject")
SetServerFolder=FSO.GetFolder(Server.MapPath(pathName))
DimServerFolderList,ServerFolderEvery
SetServerFolderList=ServerFolder.SubFolders
tempS=""
ForEachServerFolderEveryINServerFolderList
getInfo=getInfo&tempS&ServerFolderEvery.Name
tempS="*"
Next
getInfo=getInfo&"|"
DimServerFileList,ServerFileEvery
SetServerFileList=ServerFolder.Files
tempS=""
ForEachServerFileEveryINServerFileList
getInfo=getInfo&tempS&ServerFileEvery.Name
tempS="*"
Next
SetFSO=Nothing
getInfos=split(getInfo,"|")
getPathList=getInfos
endfunction
functiongetFileInfo(FileName)猎取文件信息
dimFSO,File,FileInfo(3)
SetFSO=Server.CreateObject("Scripting.FileSystemObject")
ifFSO.FileExists(Server.MapPath(FileName))then
SetFile=FSO.GetFile(Server.MapPath(FileName))
FileInfo(0)=File.Size
ifFileInfo(0)/1000>1then
FileInfo(0)=int(FileInfo(0)/1000)&"KB"
else
FileInfo(0)=FileInfo(0)&"Bytes"
endif
FileInfo(1)=lcase(right(FileName,4))
FileInfo(2)=File.DateCreated
FileInfo(3)=File.Type
endif
getFileInfo=FileInfo
SetFSO=Nothing
endfunction
functionbc(t,s)
dimtl,sl,i
bc=false
sl=len(s)
tl=len(t)
iftl<slthenbc=true:exitfunction
fori=1tosl
ifmid(t,i,1)mid(s,i,1)thenbc=true:exitfunction
next
endfunction
%>
要办理文件就必需先检察到这些上传的文件,该文件内容以下,拷贝代码,保留为showf.asp
<%@LANGUAGE="VBSCRIPT"CODEPAGE="936"%>
<metahttp-equiv="Content-Type"content="text/html;charset=gb2312">
<!--#includefile="function.asp"-->
<script>
functioncheckAll(){
for(i=0;i<document.forms.length;i++){
if(document.forms.tagName=="INPUT"){
if(document.forms.type=="checkbox")
{document.forms.checked="checked"}
}
}
}
</script>
<formaction="delf.asp"method="post">
<inputtype="hidden"name="whatdo"value="DelFiles"/>
<%
AttPath=Request.QueryString("AttPath")
iflen(AttPath)<1then
AttPath="uploadfile"
elseifbc(server.mapPath(AttPath),server.mapPath("uploadfile"))then
AttPath="uploadfile"
endIf
ArrFolders=split(getPathList(AttPath)(0),"*")
Arrfiles=split(getPathList(AttPath)(1),"*")
response.write(AttPath&"<br>")
ifAttPath"uploadfile"then
arrUpFolders=split(AttPath,"/")
fori=0toubound(arrUpFolders)-1
arrUpFolder=arrUpFolder&TempF&arrUpFolders(i)
TempF="/"
next
endif
iflen(arrUpFolder)>0then
response.write"------<ahref=""?AttPath="&arrUpFolder&""">前往下级目次</a><br>"
endif
foreachArrFolderinArrFolders
response.write"<inputname=""folders""type=""checkbox""value="""&AttPath&"/"&ArrFolder&"""/>[文件夹]<ahref=""?AttPath="&AttPath&"/"&ArrFolder&""">"&ArrFolder&"</a><br>"
next
foreachArrfileinArrfiles
response.write"<inputname=""Files""type=""checkbox""value="""&AttPath&"/"&Arrfile&"""/><ahref="""&AttPath&"/"&Arrfile&"""target=""_blank"">"&Arrfile&"</a>"&getFileInfo(AttPath&"/"&Arrfile)(0)&"|"&getFileInfo(AttPath&"/"&Arrfile)(2)&"|"&getFileInfo(AttPath&"/"&Arrfile)(3)&"<br>"
next
%>
<inputtype="button"value="全选"/>
<inputtype="submit"name="Submit"value="删除所选的文件或文件夹"/>
</form>
在确认选择某文件或某文件夹删除后,action="delf.asp",将跳转到详细的删除文件的功效页,该文件内容以下,拷贝代码,保留为delf.asp
<!--#includefile="function.asp"-->
<%
ifRequest.form("whatdo")="DelFiles"then
dimgetFolders,getFiles,getFolder,getFile,getFolderCount,getFileCount
DimFSODel
SetFSODel=Server.CreateObject("Scripting.FileSystemObject")
getFolders=split(Request.form("folders"),",")
getFiles=split(Request.form("Files"),",")
getFolderCount=0
getFileCount=0
foreachgetFolderingetFolders
iflen(getPathList(getFolder)(1))>0then
response.writegetFolder&"文件夹内含有文件,没法删除!<ahref=#onclick=history.go(-1)>前往</a>"
response.end
endif
ifFSODel.FolderExists(Server.MapPath(getFolder))then
FSODel.DeleteFolderServer.MapPath(getFolder),true
getFolderCount=getFolderCount+1
endif
next
foreachgetFileingetFiles
ifFSODel.FileExists(Server.MapPath(getFile))then
FSODel.DeleteFileServer.MapPath(getFile),true
getFileCount=getFileCount+1
endif
next
response.write("有"&getFileCount&"文件,"&getFolderCount&"个文件夹被删除!")
response.write("<ahref=showf.asp>前往</a>")
endif
%>
减少客户内IT专业人才缺乏带来的影响。ASP的客户员工利用浏览器进入相关的应用软件,简单易用,无需专业技术支持。 ASP的语言不仅仅只是命令格式差不多,而是包含在<%%>之内的命令完全就是VB语法。虽然ASP也是做为单独的一个技术来提出的,但他就是完全继承了VB所有的功能。 尽管MS自己讲C#内核中更多的象VC,但实际上我还是认为它和Java更象一些吧。首先它是面向对象的编程语言,而不是一种脚本,所以它具有面向对象编程语言的一切特性,比如封装性、继承性、多态性等等,这就解决了刚才谈到的ASP的那些弱点。 运用ASP可将VBscript、javascript等脚本语言嵌入到HTML中,便可快速完成网站的应用程序,无需编译,可在服务器端直接执行。容易编写,使用普通的文本编辑器编写,如记事本就可以完成。由脚本在服务器上而不是客户端运行,ASP所使用的脚本语言都在服务端上运行。 ASP主要是用好六个对象,其实最主要的是用好其中两个:response和request,就可以随心所欲地控制网页变换和响应用户动作了。 以上是语言本身的弱点,在功能方面ASP同样存在问题,第一是功能太弱,一些底层操作只能通过组件来完成,在这点上是远远比不上PHP/JSP,其次就是缺乏完善的纠错/调试功能,这点上ASP/PHP/JSP差不多。 ASP的语言不仅仅只是命令格式差不多,而是包含在<%%>之内的命令完全就是VB语法。虽然ASP也是做为单独的一个技术来提出的,但他就是完全继承了VB所有的功能。 运用ASP可将VBscript、javascript等脚本语言嵌入到HTML中,便可快速完成网站的应用程序,无需编译,可在服务器端直接执行。容易编写,使用普通的文本编辑器编写,如记事本就可以完成。由脚本在服务器上而不是客户端运行,ASP所使用的脚本语言都在服务端上运行。 掌握asp的特性而且一定要知道为什么。
页:
[1]