令中国铁道出版社 ASP动态网页设 第10章文文件的访问
第10章 文本文件的访问 ASP动态网页设计教程
令中国铁道出版社 第10章文本文 标准的HTML并没有提供文件访问的能力,因此若 有文件访问的需求时就必须通过CG程序访问服务器上 的文件。在ASP程序中,要访问 Server上的文件必须先 创建 File Systemobject对象,然后利用此对象所提供的 Open Textfile(打开文件) CreateTextfile(创建新文件)创 建File对象,最后调用Fle对象的 Write line及 Read line 访问文件。 文本文件虽可以通过ASP访问,但必须注意文件访 问权限的问题。若目录或文件没有写入的权限时, Internet的用户仍然无法写入数据,只有通过“资源管 理器”的“安全设置”,将文件写入的权限开放,方能 使用创建文件及写入文件的功能
2 第10章 文本文件的访问 标准的HTML并没有提供文件访问的能力,因此若 有文件访问的需求时就必须通过CGI程序访问服务器上 的文件。在ASP程序中,要访问Server上的文件必须先 创建FileSystemObject对象,然后利用此对象所提供的 OpenTextFile(打开文件)或CreateTextFile(创建新文件)创 建File对象,最后调用File对象的Write Line及Read Line 访问文件。 文本文件虽可以通过ASP访问,但必须注意文件访 问权限的问题。若目录或文件没有写入的权限时, Internet的用户仍然无法写入数据,只有通过“资源管 理器”的“安全设置”,将文件写入的权限开放,方能 使用创建文件及写入文件的功能
令中国铁道出版社 第10章文本文 本章将针对文本文件的访问,介绍ASP提供的文 本文件访问功能及使用权限问题,并以 SQL Server连 接参数设置的范例,介绍以web接口管理 SQL Server的 应用。 10.1 Filesystemobject与Fie对象 10.2 FilesystemObject的其他功能 10.3File对象的其他功能 10.4加载 SQL Server连接参数范例 10.5编辑 SQL Server连接参数范例 106HTML套用文本文件范例 3
3 第10章 文本文件的访问 本章将针对文本文件的访问,介绍ASP提供的文 本文件访问功能及使用权限问题,并以SQL Server连 接参数设置的范例,介绍以Web接口管理SQL Server的 应用。 • 10.1 FileSystemObject与File对象 • 10.2 FileSystemObject的其他功能 • 10.3 File对象的其他功能 • 10.4 加载SQL Server连接参数范例 • 10.5 编辑SQL Server连接参数范例 • 10.6 HTML套用文本文件范例
令中国铁道出版社 10.1 File SystemObject 5 File ASP无法完成的操作, Microsoft主张利用COM来 解决。 FileSystemObject是利用COM写成的组件,它提 供文本文件访问的能力。通过 Filesystemobject我们可 以弥补ASP无法访问文本文件的憾,完成网站上各 种可能发生的情况。创建 Filesystemobject的ASP程序 代码如下 Set fso= Server CreateObject("Scripting. File SystemObject") Set fp= fso. Open TextFile("文件名称 或 Set fso=Server CreateObject("Scripting FileSystemObject") Set fp= fso CreateTextFile("文件名称")
4 10.1 FileSystemObject与File对象 ASP无法完成的操作,Microsoft主张利用COM来 解决。FileSystemObject是利用COM写成的组件,它提 供文本文件访问的能力。通过FileSystemObject我们可 以弥补ASP无法访问文本文件的遗憾,完成网站上各 种可能发生的情况。创建FileSystemObject的ASP程序 代码如下: Set fso=Server.CreateObject("Scripting.FileSystemObject") Set fp=fso.OpeoTextFile("文件名称") 或 Set fso=Server.CreateObject("Scripting.FileSystemObject") Set fp=fso.CreateTextFile("文件名称")
令中国铁道出版社 10.1 File SystemObject 5 File 上述的程序代码在创建 FilesystemObject之后,可 搭配 OpenTextFile及 Create TextFile两个方法创建Fe对 象。有关这两个对象的使用方法说明如下。 1. Open TextFile Open Textfile的语法如下 Set fileobjectName FilesystemObject Open TextFile (filename, io mode, Auto Create) Filename:打开的文件名称,可包含磁盘驱动器、目 录、文件名及扩展名。另外,您也可以使用 Server对 象的 Map Path方法取得文件所在位置,例如取得网页 index htm完整路径的方法如下: filename=Server. Map Path("index. htm
5 10.1 FileSystemObject与File对象 上述的程序代码在创建FileSystemObject之后,可 搭配OpenTextFile及CreateTextFile两个方法创建File对 象。有关这两个对象的使用方法说明如下。 1. OpenTextFile OpenTextFile 的语法如下: Set FileObjectName = FileSystemObject.OpenTextFile (filename, io_mode, AutoCreate) Filename:打开的文件名称,可包含磁盘驱动器、目 录、文件名及扩展名。另外,您也可以使用Server对 象的MapPath方法取得文件所在位置,例如取得网页 index.htm完整路径的方法如下: filename = Server.MapPath("index.htm")
令中国铁道出版社 10.1 File SystemObject 5 File 返回值视计算机环境的设置而有所不同,例如您 的IS安装时,主页的目录(根目录按照默认值,设置 于c: Inetpublwwwroot,则以 Server. Mappath取得首页 index. htm的值为c: A Inetpublwwwroot index htm。 io mode:I/ O Mode主要提供用以指定文件访问的方式。 它的值可以是 For reading(=1)或 For Appending(=8)两种 选择,若设置为 For reading,则文件是只读的(无法进 行写入);而 ForAppendingl的文件只能从文件未端写入 此参数可以省略不写,默认值为 For Reading。 Auto Create:此参数的类型为布尔值( Boolean)。当值为 且文件不存在时,会出现找不到文件的错误信息(如下 图所示)。该参数也可省略,省略时默认值为 False
6 10.1 FileSystemObject与File对象 返回值视计算机环境的设置而有所不同,例如您 的IIS安装时,主页的目录(根目录)按照默认值,设置 于c:\\Inetpub\wwwroot,则以Server.MapPath取得首页 index.htm的值为c:\\ Inetpub\wwwroot\index.htm。 io_mode:I/O Mode主要提供用以指定文件访问的方式。 它的值可以是ForReading(=1) 或ForAppending(=8)两种 选择,若设置为ForReading,则文件是只读的(无法进 行写入);而ForAppending的文件只能从文件末端写入。 此参数可以省略不写,默认值为ForReading。 AutoCreate:此参数的类型为布尔值(Boolean)。当值为 True时,若文件不存在,系统会自动产生;若为False, 且文件不存在时,会出现找不到文件的错误信息(如下 图所示)。该参数也可省略,省略时默认值为False
令中国铁道出版社 10.1 File SystemObject 5 File 无法显示网页-夏 icrosoft Internet Explorer 回 文件①)编辑①)查看①)收藏)工具①帮助Q 后退·②冈的搜索次收藏夹 地址①)Mtp∥00180转到链” 无法显示网页 试图访问的网项出现问题,无法显示 青尝试执行下列操作 单击刷新按钮,或稍后重试。 打开1270.01主页,然后查找与所需信息相关的链接 HrTP错误500.100-内部服务器错误-AsP错误 技术信息(用于支持人员 ·错误类型 Microsoft VBScript运行时错误0x8000035) 件未找到 chapter10/ pages/0 penlY. asp,第3行 完毕 y Intern (7
7 10.1 FileSystemObject与File对象
令中国铁道出版社 10.1 File SystemObject 5 File 2. CreateTextFile C reate e StIle的语法如下 Set FileobjectName FileSystemObject CreateTextFile (filename, Overwrite) 详细的参数说明如下 filename:创建的文件名称,可包含磁盘驱动器、目录、 文件名及扩展名。用法与 OpentextFil相同 Overwrite:参数为布尔值(True/Fase)。当值为Tue 时,已存在的文件会被强制覆盖( Overwrite);否则 会自动创建新文件。本参数可省略,省略时其默认值 为 True
8 10.1 FileSystemObject与File对象 2. CreateTextFile CreateTextFile 的语法如下: Set FileObjectName = FileSystemObject.CreateTextFile (filename, Overwrite) 详细的参数说明如下: filename:创建的文件名称,可包含磁盘驱动器、目录、 文件名及扩展名。用法与OpenTextFil相同。 Overwrite:参数为布尔值(True/False)。当值为True 时,已存在的文件会被强制覆盖(Overwrite);否则 会自动创建新文件。本参数可省略,省略时其默认值 为True
令中国铁道出版社 10.2 FileSystemObject 3 除了 OpenTextfile和 Create TextFile以外, Filesystemⅰeci还提供数个针对文件操作的功能,相关 说明如下。 1. DeleteFile(删除文件) Deletefile的参数有两个,第一个为欲删除的文件 名,第二个则是设置文件是否强制删除。当第二个参数 的值为True时,不论文件为只读( Readonly)属性与否 系统一律删除;若其值为 False且文件为 ReadOnly时,将 导致错误。下面是 DeleteFilel的范例( DelF. asp): Set fso=Server CreateObject("Scripting. File SystemObject ") FileName= Server. Map Path("listconn bak") fso delete file filename. True 说明:文件 DelF. asp执行后, liston bak文件即被删除
9 10.2 FileSystemObject的其他功能 除了OpenTextFile和CreateTextFile以外, FileSystemObject还提供数个针对文件操作的功能,相关 说明如下。 1. DeleteFile (删除文件) DeleteFile 的参数有两个,第一个为欲删除的文件 名,第二个则是设置文件是否强制删除。当第二个参数 的值为True时,不论文件为只读 (ReadOnly) 属性与否, 系统一律删除;若其值为False且文件为ReadOnly时,将 导致错误。下面是DeleteFile的范例(DelF.asp): Set fso = Server.CreateObject("Scripting.FileSystemObject") FileName = Server.MapPath("listconn.bak") fso.DeleteFile FileName, True : 说明:文件DelF.asp执行后,listconn.bak文件即被删除
令中国铁道出版社 10.2 FileSystemObject 3 2. MoveFile(改变文件名) 改变文件名( MoveFile)为 FileSystemObject的一个成 员。通过 Movefile,我们可以改变文件的名称,它的使 用方法(范例 Move. asp如下: Set fso- Server CreateObject("Scripting FileSystemObject") FileNamel= Server MapPath("listconn bak) FileName2= Server. Map Path("listconnS$$ fso, Move file fileName. fileName 2 说明:文件 Move. asp执行后, listconn bak文件改名 为 liston$$s
10 10.2 FileSystemObject的其他功能 2. MoveFile (改变文件名) 改变文件名(MoveFile)为FileSystemObject的一个成 员。通过MoveFile,我们可以改变文件的名称,它的使 用方法(范例MoveF.asp)如下: Set fso = Server.CreateObject("Scripting.FileSystemObject") FileName1 = Server.MapPath(“listconn.bak”) FileName2 = Server.MapPath(“listconn.$$$”) fso.MoveFile FileName1, FileName2 : 说明:文件MoveF.asp执行后,listconn.bak文件改名 为listconn.$$$