1、第5章 ASP内置组件,5,内容提要,本章主要介绍两种常用的内置组件: 文件组件 广告组件 操作一个文件系统分成三个层次: 操作文件的内容 操作文件 操作文件夹 利用文件组件实现个人主页编辑器和文件版的留言簿。 利用广告组件实现广告处理。,使用内置文件组件,FileSystemObject(FSO,文件系统对象)是IIS自带的一个组件 利用这个组件的一些方法可以在服务器上操作文件的内容、操作文件和操作文件夹。,使用对文件操作的组件,利用IIS 5.0自带的FileSystemObject组件,几乎可以控制服务器的所有文件系统。为了实现这些功能,需要使用下面对象。(1)FileSystemObj
2、ect:它包括一些基本的对文件系统进行操作的方法,比如复制和删除文件夹或者文件。 (2)TextStream:它用来读写文件。 (3)File:它的方法和属性被用来处理单独的文件。 (4)Folder:它的方法和属性被用来处理文件夹。,创建文本文件,案例名称:创建文本文件 程序名称:5-01.asp,连续写入多行信息,案例名称:连续写入多行信息 程序名称:5-02.asp,读取文件的内容,案例名称:读取文件的内容 程序名称:5-03.asp“) MyTextFile.Close(); %,Read方法的使用,案例名称:Read方法的使用 程序名称:5-04.asp,读取文本文件的方法,读取文本
3、文件的方法如下。 (1)Read(Number):从文本文件中读取限定数目个字符。 (2)ReadLine():从文本文件中读取一行。 (3)ReadAll():这个方法接受TextStream文件的所有内容。,追加数据,案例名称:追加数据 程序名称:5-05.asp,对文件进行处理,有多种方法可对文件进行复制、移动及删除工作。可以利用FileSystemObject对象的方法也可以利用File对象的方法。FileSystemObject对象对文件操作的常用方法如下。(1)CopyFile(source, destination,Overwrite):这个方法进行复制操作,可以使用source
4、参数通配符在一个时刻进行多个文件的复制。OverWrite参数将在目标文件已经存在的情况下进行覆盖操作。(2)MoveFile(source, destination):这个方法对文件进行移动操作,同样可以使用通配符来移动多个文件,如果目的文件已经存在,则会报错。 (3)DeleteFile(FileSpecifier):这个方法功能是删除指定文件,同样还可以利用通配符实现多文件的删除。如果没有符合通配符的文件,将会报错。,复制文件,案例名称:复制文件 程序名称:5-06.asp,FILE对象,除了使用FileSystemObject对象的方法来操作文件以外,还可以使用FILE对象提供的如下方
5、法。 (1)Copy(newcopy,Overwrite):该方法给当前文件创建备份,当可选的 OverWrite参数为true时,如果存在同名的文件,则覆盖。 (2)Move(newcopy):该方法功能是移动当前文件。 (3)Delete():删除当前文件。,复制文件,案例名称:复制文件 程序名称:5-07.asp,检测文件是否存在,案例名称:检测文件是否存在 程序名称:5-08.asp,得到文件的相关属性,案例名称:得到文件的相关属性 程序名称:5-09.asp名称: 路径: 驱动器: 大小: 类型: 属性: 创建日期: ,文件的属性值,查看文件的属性,由于test.txt文件的属性为A
6、rchive,所以属性就是32。也可以利用操作系统查看文件的属性,如图5-10所示,修改文件的属性,案例名称:修改文件的属性 程序名称:5-10.asp,对文件夹和驱动器进行操作,FileSystemObject提供对文件夹和驱动器进行操作的一些方法,获取有关驱动器的信息及对目录的创建、删除移动和显示内容操作 用户在使用这些集合和方法之前,必须首先创建一个Driver对象的实例 可以使用FileSystemObject对象的Getdrive()方法来创建,如程序5-11.asp所示,将返回C盘的容量。,获取C盘的容量,案例名称:获取C盘的容量 程序名称:5-11.asp,FileSystemO
7、bject对象,FileSystemObject对象包括如下处理文件夹的方法。(1)CopyFolder source, destination ,Overwrite:用来进行文件夹的复制,可以使用通配符来进行多目录的复制,如果目的目录已经存在,可以通过将Overwrite参数设为true进行覆盖,默认值为true。 (2)CreateFolder FolderSpecifier:创建一个指定的文件夹。 (3)DeleteFolder FolderSpecifier:删除一个指定的文件夹。 (4)FolderExists(FolderSpecifier):如果该指定文件夹存在,返回true,否
8、则返回false。 (5)GetFolder(FolderSpecifier):由指定的文件夹创建一个Folder对象。 (6)GetParentFolderName(Path):返回包含该路径的上一级目录名。 (7)MoveFolder source, Destinatioin:将指定目录进行移动,可以利用通配符来移动多个文件夹。,操作文件夹,案例名称:操作文件夹 程序名称:5-12.asp,Folder对象,Folder对象也提供一些重要的方法和属性。如下所示。(1)CopyFolder newcopy ,overwrite:将当前文件夹复制到新的位置。 (2)DeleteFolder:删
9、除当前文件夹。 (3)Files:返回所有该目录下文件的集合。其中隐含文件不显示。 (4)IsRootFolder:如果是根目录返回true。 (5)MoveFolder FolderSpecifier:移动当前目录到另外的位置。 (6)Name:返回当前目录名称。 (7)ParentFolder:返回到上一级目录。 (8)Size:显示目前目录及子目录的所有文件大小的总和。 (9)SubFolders:返回为所有这个文件夹下面子目录的集合。,创建文件夹,案例名称:创建文件夹 程序名称:5-13.asp,案例5-1:在线个人主页编辑器,利用前面的知识可以创建个人主页编辑器。 该编辑器由两个文件
10、组成,一个是编辑的界面,另一个是显示的界面。 编辑界面如程序edit.asp所示。 程序display.asp是主页的显示文件。,案例5-1:在线个人主页编辑器,案例5-2:文件版留言簿,该留言簿的功能是用户可以在网站上留一些信息,它由四个文件组成。(1)input.htm:留言输入界面。 (2)handle.asp:留言处理保存页面。 (3)display.asp:留言显示页面。 (4)lyb.txt:留言保存文件。,案例5-2:文件版留言簿,广告的处理,利用内置组件AD ROTATOR可以实现动广告图片的动态显示。 使用该组件,可以在每次访问中显示不同的图标,可以设置广告的不同权重使得显示
11、频率不同。,广告图片显示,Ad Rotator组件只有一个方法,getAdvertisment()方法。使用方法如程序ad.asp所示。案例名称:实现广告 程序名称:ad.asp,广告的配置文件,案例名称:广告的配置文件 程序名称:ad.txtREDIRECT ad_redir.asp WIDTH 226 HEIGHT 62 BORDER 0 * gettop.gif http:/ 卓越信息 50 xdf.jpg http:/ 新东方学校 30 kxt.gif http:/ 快学堂 20,广告的转向文件,案例名称:广告的转向文件 程序名称:ad_redir.asp,本章总结,本章重点理解文件和广告组件的使用方法。 掌握操作文件内容、操作文件和操作文件夹的方法 重点理解文件版留言簿的原理 了解广告组件的概念及其广告配置文件的含义,会使用广告组件。,本章习题,1. 如何使用文件组件?文件组件提供哪些功能? 2. 如何向已经存在的文件中追加内容? 3. 打开文件有哪几种方式,有哪些参数?各是什么意义? 4. 如何利用复制、删除和赋值文件? 5. 广告组件的配置文件的功能是什么? 6. 改写案例5-2,添加留言的表情,提供下拉列表框(笑着说和苦着说)供用户选择。(上机完成),