第9讲 SERVER对象和服务器端的文件存取
SERVER对象提供的属性和方法:
属性:
scriptTimeout=N 设置script必须在指定的时间内执行,超时不执行。默认90秒。例如<% server. ScriptTimeout=120 %>
转移控制权到其他ASP程序
SERVER.Transfer方法
<% Response.Write \调用Transfer方法之前\
<% Server.Transfer(\ '将控制权转移至page_2.asp后便不再返回
<% Response.Write \调用Transfer方法之后\
注意:Server.Transfer和response。Redirect的区别。前者保留所有内置对象的值到重新定向的网页,而后者不保留。
字符串编码
SERVER.HTMLEncode方法可以对STRING进行编码,使其不被浏览器解释为HTML语法:例如
Response.Write(Server.HTMLEncode(“段落标记:
”),则浏览器收到的HTML的结果为:“段落标记:<P>”,因此画面显示(“段落标记:
”)
将虚拟路径转换为实际路径
server.MapPath方法 如:server.MapPath(“page.asp”) 找出page.asp的实际路径
server.MapPath(“../”)找出父目录的实际路径
例:
<% Language = VBScript %>
<% Response.Write \父目录为\
<% Response.Write \现在目录为\
<% Response.Write \根目录为\
<% Response.Write \网页的实际路径为\Server.MapPath(\
&
使用外挂对象-server.creatobject 方法
ASP的内置对象功能有限,要丰富网页还要用服务器组件(外挂对象),而server.creatobject的作用就是建立服务器组件的对象实例。 例:
dim objfso
set objfso=server.creatobject(“scripting.filesystemobject”)
其中set为VBSCRIPT的关键词,用以建立对象实例,objfso是这个对象实例的名称,scripting.filesystemobject是.filesystemobject服务器组件登录在系统登录库的ID
服务器组件分三种;
(1) 随IIS WEB服务器而来,用以加强ASP的功能:如:
MSWC.ADROTATOR/MSWC.BROWSERTYPE等
(2) 存放在WEB服务器,但不专门针对ASP,如图形产生器和数学运算
程序
(3) 使用者针对某些服务器和ASP未提供的功能自行设计。
存取服务器端的文件夹和文件
ASP没有专门的内置对象来存取文件和文件夹,如要操作,必须先建立filesystemobject服务器组件的对象实例。然后通过此对象实例的集合、方法、属性操作。
注意:要存取服务器端的文件和文件夹,必须先使用 Server.MapPath将文件和文件夹的虚拟路径转换为实际路径。
检查指定的磁盘、文件夹、文件是否存在
<%
Dim objFSO '声明一个名称为objFSO的变量以存放对象中
Set objFSO = Server.CreateObject(\ If objFSO.DriveExists(\
Response.Write \磁盘是存在的\ Else
Response.Write \磁盘是不存在的\ End If
If objFSO.FolderExists(Server.MapPath(\ Response.Write \文件夹是存在的\ Else
Response.Write \文件夹是不存在的\ End If
If objFSO.FileExists(Server.MapPath(\ Response.Write \文件是存在的\ Else
Response.Write \文件是不存在的\ End If
Set objFSO = Nothing '释放FileSystemObject对象 %>
文件夹的建立、移动、重新命名、删除和复制
(1)
<%
Dim objFSO
Set objFSO = Server.CreateObject(\ objFSO.CreateFolder(Server.MapPath(\
Response.Write \新文件夹的实际路径为\& Server.MapPath(\ Set objFSO = Nothing %> (2)
<%
Dim objFSO
Set objFSO = Server.CreateObject(\
If objFSO.FolderExists(Server.MapPath(\
objFSO.MoveFolder Server.MapPath(\ Server.MapPath(\ Else
Response.Write \文件夹不存在无法进行移动\ End If
Set objFSO = Nothing %> (3)
<%
Dim objFSO
Set objFSO = Server.CreateObject(\
If objFSO.FolderExists(Server.MapPath(\ objFSO.DeleteFolder Server.MapPath(\ Else
Response.Write \文件夹不存在无法进行删除\ End If
Set objFSO = Nothing %> (4)
<%
Dim objFSO
Set objFSO = Server.CreateObject(\
If objFSO.FolderExists(Server.MapPath(\ objFSO.CopyFolder Server.MapPath(\ Server.MapPath(\ Else
Response.Write \文件夹不存在无法进行复制\ End If
Set objFSO = Nothing %> (5)
<%
Dim objFSO, objFolder
Set objFSO = Server.CreateObject(\
If objFSO.FolderExists(Server.MapPath(\
Set objFolder = objFSO.GetFolder(Server.MapPath(\ objFolder.Copy Server.MapPath(\ Else
Response.Write \文件夹不存在无法进行复制\ End If
Set objFolder = Nothing Set objFSO = Nothing %>
取得文件夹的父文件夹路径、特殊文件夹路径、大小、属性、类型和日期信息
例:
<%
Dim objFSO, objFile
Set objFSO = Server.CreateObject(\
If objFSO.FileExists(Server.MapPath(\ Set objFile = objFSO.GetFile(Server.MapPath(\
Response.Write \文件夹的路径:\ Response.Write \文件夹的建立日期:\& \
Response.Write \文件夹的大小:\ Response.Write \文件夹的类型:\ Else
Response.Write \文件不存在无法显示相关信息\ End If
Set objFile = Nothing '释放File对象
Set objFSO = Nothing '释放FileSystemObject对象 %>