Server对象与服务器端文件访问Word格式文档下载.docx
《Server对象与服务器端文件访问Word格式文档下载.docx》由会员分享,可在线阅读,更多相关《Server对象与服务器端文件访问Word格式文档下载.docx(25页珍藏版)》请在冰豆网上搜索。
head>
<
title>
ScriptTimeout属性用法示例<
/title>
/head>
body>
%
Server.ScriptTimeout=1'
设置脚本文件最长执行时刻为1秒
Dimi
i=1
DoWhilei>
0'
死循环程序
i=i+1
Loop
%>
/body>
/html>
7.1.2Server的方法
Server的方法要紧有:
Ø
CreateObject(component):
建立组件实例
Execute(path):
调用PATH指定的程序
GetlastError():
返回一个ASPError对象的实例,该实例描述最近发生的错误
HTMLEncode(string):
将String进行编码,使它可不能被说明为HTML语法
URLEncode(string):
将String进行编码,以放入QueryString返回服务器
MapPath(path):
将Path指定的虚拟路径转换为实际路径
Transfer(path):
将操纵权转移到Path指定的ASP程序
◆Server.Execute方法
格式:
Server.Execute(path)
功能:
该方法是IIS5.0新增的功能,用途类似程序语言中的函数调用,也确实是说,你能够在ASP程序中使用Server.Execute(path)方法调用path指定的ASP程序,待彼此调用的程序执行完毕之后再返回原先的程序,连续执行接下来的指令。
举例:
Server.Execute方法使用
HTML>
BODY>
P>
%Response.Write"
调用Execute方法之前"
%>
/P>
%Server.Execute("
page_2.asp"
)%>
'
执行page_2.asp后会再返回
调用Execute方法之后"
/BODY>
/HTML>
page_1.asp>
%Response.Write“这是page_2.asp的执行结果"
page_2.asp>
◆Server.Transfer方法
Server.Transfer(path)
该方法也是IIS5.0新增的功能,用于将目前ASP程序的操纵权转移到path指定的ASP程序,即使转移之后的程序差不多执行完毕,操纵权可不能返回原先的程序。
Server.Transfer方法使用
调用Transfer方法之前"
%Server.Transfer("
将操纵权转移至page_2.asp后便不再返回
调用Transfer方法之后"
page_3.asp>
注意:
Server.Transfer、Server.Execute和Redirect三者的区别:
(1)Transfer与Execute差不多相似,唯独区别是Transfer方法执行完新网页后并不回到原先网页。
(2)Redirect与Transfer有点相似,都有页面导向的功能,所不同的是,使用Transfer能够保留原先所有内置对象的值,而Redirect却做不到。
编程验证Redirect与Transfer对内置对象的值的阻碍有何不同。
◆Server.HTMLEncode和Server.URLEncode方法
Server对象提供的Server.HTMLEncode和Server.URLEncode两个方法能够进行字符串编码。
1.Server.HTMLEncode编码方式
该编码方式能够将String进行编码,使字符串可不能被说明为HTML语法。
其格式为:
Response.Write(Server.HTMLEncode(“段落标记:
”))
例如,请分析下列程序的运行结果
Response.write("
这是对HTMLEncode方法的测试。
br>
那个地点应该可不能另起一行。
"
)
Response.writeServer.HTMLEncode("
这是对HTMLEncode方法的测试。
那个地点应该可不能另起一行。
2.Server.URLEncode编码方式
该方式能够将Srting进行编码,以放入Querystring返回服务器。
服务器端用Request.Querystring(“keyname”)猎取即可。
例如,分析下列程序找出错误缘故。
%language=vbscript%>
Head>
URLENCODE举例<
/Head>
ahref="
urlsample.asp?
name=<
%=server.urlencode("
李四"
)%>
>
传name过去<
/a>
urlsam.asp>
%@language=vbscript%>
name=request.form("
name"
注意观看<
%=name&
你好"
urlsample.asp>
◆Server.MapPath方法
Server.MapPath(path)
该方法用于将path指定的虚拟路径转换为实际路径。
Server.MapPath方法使用
父名目为"
&
Server.MapPath("
../"
BR>
现在名目为"
./"
根名目为"
/"
网页的实际路径为"
path.asp"
◆Server.CreateObject方法
Server.CreateObject(component)
这是Server对象最重要的一个方法。
它用于创建差不多注册到服务器(从注册表里能找到差不多注册的组件)上的ActiveX组件的实例。
有了它,我们就能够使用ActiveX组件轻松的扩展ActiveX的能力,使设计更加多元化。
下面就声明了FileSystemObject的一个实例:
DimobjFSO'
声明objFSO的变量,以存放对象实例
SetobjFSO=Server.CreateObject("
Scripting.FileSystemObject"
说明:
1.Set是VBScript关键字,用来建立对象实例,objFSO是那个对象的名称;
Scripting.FileSystemObject是FileSystem组件在服务器注册时的ID标识。
2.服务器组件不能直截了当使用,必须先用Server.CreateObject建立一个组件的对象实例,然后才能通过次对象实例访问其集合、方法和属性。
7.2ASP内置组件
本节要紧介绍如下几个ASP内置组件:
FileSystemObject组件:
要紧负责对服务器断文件或文件夹的相关操作。
BrowserCapabilities组件:
猎取扫瞄器信息。
ContentLinking组件:
用于建立网络导航,这在建立大型网站专门有用。
Dictionary组件:
功能类似于数据库操作,所有操作在内存中完成,不需要存取磁盘上的文件,适合储存少量的数据。
AdRotator组件:
广告轮显组件。
用于制作动态交替变换的广告Web页面。
7.2.1FileSystemObject组件
FSO(FileSystemObject)组件模式包含在Scripting类型库中,该库位于Scrrun.dll文件中。
因而,要使用FSO对象模式,必须把Scrrun.dll放在Web服务器的适当系统名目中。
一、检查指定的磁盘、文件夹或文件是否存在
在进行磁盘、文件夹或文件的读写之前,我们都必须先确定磁盘、文件夹或文件是存在的,否则将产生错误信息。
我们能够分别使用FilesystemObject组件的DriveExistes(path)、FileExists(path)及FolderExists(path)方法来检查磁盘、文件夹或文件是否存在,例如以下程序:
01:
02:
03:
DimobjFSO'
声明一个名称为objFSO的变量以存放对象实例
04:
SetobjFSO=Server.CreateObject("
05:
IfobjFSO.DriveExists("
C:
)Then
06:
Response.Write"
磁盘是存在的"
"
07:
Else将虚拟路径转换为实际路径
08:
磁盘是不存在的"
09:
EndIf
10:
IfobjFSO.FolderExists(Server.MapPath("
\Ch07"
))Then
11:
Ch07文件夹是存在的"
12:
Else
13:
Ch07文件夹是不存在的"
将虚拟路径转换为实际路径
14:
15:
IfobjFSO.FileExists(Server.MapPath("
CheckExist.asp"
16:
CheckExist.asp文件是存在的"
17:
Else
18:
CheckExist.asp文件是不存在的"
19:
20:
SetobjFSO=Nothing'
开释FileSystemObject对象实例
21:
22:
1.使用FolderExists方法和FileExists方法时,要求参数必须是实际路径,因此,在程序中,我们总要使用Server.MapPath方法先将虚拟路径先转换为实际路径。
2.程序终止前,我们使用SetobjFSO=Nothing开释我们曾经在程序中建立的对象。
二、对文件夹的操作
1.建立文件夹
objFSO.CreateFolder(FolderName)
用途:
FileSystemObject对象的CreateFolder方法用于建立一个FolderName文件夹,而且参数FolderName必须使用实际路径。
在Ch07文件夹内建立一个名称为NewFolder的文件夹。
DimobjFSO
objFSO.CreateFolder(Server.MapPath("
\ch07\NewFolder"
))
新文件夹的实际路径为"
SetobjFSO=Nothing
2.移动、重新命名文件夹
objFSO.MoveFolderSource,Destination
FileSystemObject对象的MoveFolder方法用于将Source指定的文件夹移动到Destination,而且参数Source和Destination必须使用实际路径。
将Web主名目的Folder1文件夹移动到Ch07文件夹内,而且移动之后的文件夹名称改为Folder2。
IfobjFSO.FolderExists(Server.MapPath("
\Folder1"
objFSO.MoveFolderServer.MapPath("
),Server.MapPath("
\Ch07\Folder2"
Folder1文件夹不存在无法进行移动"
3.删除文件夹
objFSO.DeleteFolderpath,force
FileSystemObject对象的DeleteFolder方法用于删除path指定的文件夹,force为布尔值,默认值为false,不删除只读文件夹,若要采纳默认值,可省略不写,若要删除只读文件夹,force的值要设置为true,参数path必须使用实际路径。
将Web主名目的MyFolder文件夹删除。
\MyFolder"
objFSO.DeleteFolderServer.MapPath("
MyFolder文件夹不存在无法进行删除"
4.复制文件夹
使用FileSystemObject的CopyFolder方法完成文件夹复制
objFSO.CopyFolderSource,Destination
FileSystemObject对象的CopyFolder方法用于将Source指定的文件夹复制到Destination,而且参数Source和Destination必须使用实际路径。
将Web主名目的Folder1文件夹复制到Ch07文件夹内,而且移动之后的文件夹名称改为Folder2。
DimobjFSO
objFSO.CopyFolderServer.MapPath("
),Server.MapPath("
Folder1文件夹不存在无法进行复制"
使用Folder对象的Copy方法完成文件夹的复制
objFolder.Copydestination,overwrite
Folder对象的Copy方法用于将文件夹复制到Destination,若Destination已有同名文件夹,且Overwrite的值为True,表示将其覆盖,否则不覆盖。
对上例进行修改。
DimobjFSO,objFolder
SetobjFolder=objFSO.GetFolder(Server.MapPath("
objFolder.CopyServer.MapPath("
),true
SetobjFolder=Nothing
在本例中,我们使用FilesystemObject的GetFolder方法取得Folder1文件夹的Folder对象实例,类似的还有GetFile、GetDrive方法,使用方法类似。
问题:
对象开释的顺序是什么?
三、取得文件夹的父文件夹信息
我们能够使用FilesystemObject的GetParentFolderName、GetSpecialFolder方法来取得文件夹的父文件夹路径和WindowsFolder、SystemFolder、TemporaryFolder等专门文件夹的路径,但假如要取得文件夹的大小、属性、类型和日期等信息,就必须使用Folder对象提供的属性。
我们一起来看下面的例子。
DimobjFSO,objFolder
父文件夹的路径:
_
objFSO.GetParentFolderName(Server.MapPath("
))&
专门文件夹WindowsFolder的路径:
objFSO.GetSpecialFolder(WindowsFolder)&
文件夹的名称:
objFolder.Name&
文件夹的路径:
objFolder.Path&
文件夹的建立日期:
objFolder.DateCreated&
Ch07文件夹不存在无法显示相关信息"
本例实现对文件夹相关信息的查询,要紧使用FileSystemObject对象的Getparentfoldername方法、Folder对象的相关属性。
四、列出文件夹内的所有内容
Folder对象提供的属性除了能够取得文件夹的大小、类型、日期、名称和路径等信息之外,还能够取得文件夹内的所有文件或子文件夹。
DimobjFSO,objFolder,objFile
If