第9讲 SERVER对象和服务器端的文件存取

更新时间:2024-07-08 11:01:01 阅读量: 综合文库 文档下载

说明:文章内容仅供预览,部分内容可能不全。下载后的文档,内容与下面显示的完全一致。下载之前请确认下面内容是否您想要的,是否完整无缺。

第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对象 %>

列出文件夹内的所有文件或子文件夹

<%

Dim objFSO, objFolder, objFile

Set objFSO = Server.CreateObject(\

If objFSO.FolderExists(Server.MapPath(\

Set objFolder = objFSO.GetFolder(Server.MapPath(\ For Each objFile in objFolder.Files

Response.Write objFile.Name & \ Next Else

Response.Write \文件夹不存在无法显示内含的文件\ End If

Set objFolder = Nothing Set objFSO = Nothing %>

文件的建立、移动、重命名、删除和复制

(1)

<%

Dim objFSO

Set objFSO = Server.CreateObject(\ objFSO.CreateTextFile(Server.MapPath(\ Set objFSO = Nothing %> (2)

<%

Dim objFSO

Set objFSO = Server.CreateObject(\

If objFSO.FileExists(Server.MapPath(\

objFSO.MoveFile Server.MapPath(\Server.MapPath(\ Else

Response.Write \文件不存在无法进行移动\ End If

Set objFSO = Nothing %> (3)

<%

Dim objFSO

Set objFSO = Server.CreateObject(\

If objFSO.FileExists(Server.MapPath(\ objFSO.DeleteFile Server.MapPath(\ Else

Response.Write \文件不存在无法进行删除\ End If

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对象 %>

文件的打开、读取和写入

objFSO.OpenTextFile(filename,iomode,create,format)

iomode:为文字文件的打开方式,1-只读;2-可写(清除文字文件的原始内容);3-表示附加到文字文件的后面(不清除文字文件的原始内容),默认值为“1”; create:表示文字文件不在时,是否要加以建立;默认值是:false

format:为文字文件的格式:1-文本;0-ASCII ;2-默认(一般不用)

从文件读取NUM个字符

例: <%

Dim objFSO, objTS, Chars

Set objFSO = Server.CreateObject(\ Set objTS = objFSO.OpenTextFile(Server.MapPath(\1)

Do While Not objTS.AtEndOfStream '检查是否到达文件结尾 Chars = objTS.Read(6) '读取6个字符,再指派给字符串变量Chars

Response.Write Chars & \ '输出Chars的值和强制换行标记

Loop

objTS.Close '关闭已打开的文件

Set objTS = Nothing '释放TextStream对象案例

Set objFSO = Nothing '释放FileSystemObject对象案例 %>

从文件读取一行

objTS.ResdLine

例:

<%

Dim objFSO, objTS, ALine

Set objFSO = Server.CreateObject(\ Set objTS = objFSO.OpenTextFile(Server.MapPath(\1)

Do While Not objTS.AtEndOfStream '检查是否到达文件结尾 ALine = objTS.ReadLine '读取一行,再指派给字符串变量Aline

Response.Write ALine '输出Aline的值 Response.Write \ '输出强制换行标记 Loop

objTS.Close '关闭已打开的文件 Set objTS = Nothing '释放TexStream对象

Set objFSO = Nothing '释放FileSystemObject对象 %>

从文件读取全部内容

<%

Dim objFSO, objTS, AllLines, Result

Set objFSO = Server.CreateObject(\ Set objTS = objFSO.OpenTextFile(Server.MapPath(\1)

'在读取文件内容之前先使用If语句检查是否到达文件结尾

If Not objTS.AtEndOfStream Then '读取全部内容,再指派给字符串变量AllLines

AllLines = objTS.ReadAll '使用Replace函数将字符串变量中的换行字符置换成强制换行标记

Result = Replace(AllLines, vbCrLf, \ Response.Write Result End If

objTS.Close '关闭已打开的文件 Set objTS = Nothing '释放TextStream对象

Set objFSO = Nothing '释放FileSystemObject对象 %>

写入文件

例:

<%

Dim objFSO, objTS, AllLines, Result

Set objFSO = Server.CreateObject(\ Set objTS = objFSO.OpenTextFile(Server.MapPath(\2, True)

'以只写模式打开Sample3.txt,若文件不存在,便建立 objTS.Write(\您学习电脑的最佳伙伴——\ objTS.WriteLine(\快快乐乐学系列\ objTS.WriteBlankLines(\

objTS.WriteLine(\◎E时代网页设计\

objTS.WriteLine(\◎Linux最新版快速入门\ objTS.WriteLine(\◎Flash 5.0网页高手\

objTS.WriteLine(\◎ASP与网页数据库设计\ objTS.Close '关闭已打开的文件 Set objTS = Nothing '释放TextStream对象

Set objFSO = Nothing '释放FileSystemObject对象 %>

作业

(1) 删除只读文件夹(Deletefolder path,Foece)force为TRUE表示删除只读

文件夹。

(2) 拷贝文件重命名

(3) 打开一个文件,一次读取一行,写入另一个文件

(4) 打开文件,一次读取一个字符,转换成大写字母写入另一个文件

本文来源:https://www.bwwdw.com/article/a6h.html

Top