FSO组件.docx
《FSO组件.docx》由会员分享,可在线阅读,更多相关《FSO组件.docx(10页珍藏版)》请在冰豆网上搜索。
FSO组件
FSO组件
一、FSO组件:
擅长处理某个功能的对象。
二、ASP内置组件:
名称
说明
AdRotator
按用户指定的播放顺序,在同一页面上自动轮换显示各种广告。
BrowserCapabilities
决定访问Web站点的每个浏览器性能,类型与版本。
DataBaseAccess
提供用ActiveXDataObject(ADO)对数据库的访问。
Content Linking
动态形成Web页列表,并将各页顺序连接。
File Access
提供对Web服务器端文件的输入,输出访问。
创建ADRotator对象实例:
<%SetMyAds=Server.CreateObject("MSWC.AdRotator")%>
三、使用组件:
DataBase Access (ADO)操作数据库功能
File Access(FSO)操作文件功能
四、FSO的创建:
Set对象变量名=Server.CreateObject(“Scripting.FileSystemObject”)
Eg:
SetFs=Server.CreateObject(“Scripting.FileSystemObject”)
五、复制、删除文件
1、复制文件
语法:
文件系统对象实例名称.CopyFile(Source,Destination,Overwrite)
用途:
FileSystemObject对象的CopyFile方法将Source指定的文件复制到Destination,若有同名文件,且Overwrite的值为True表示将其覆盖,否则不覆盖。
2、删除文件
语法:
文件系统对象实例名称.DeleteFilePath,force
用途:
FileSystemObject对象的DeleteFile方法可以删除Path指定的文件。
其中path必须使用实际路径;force默认值为False,不删除只读文件,若要采用默认值可省略不写。
若要删除只读文件,force的值要设为True。
【实例如下】:
file.asp文件用来检测if.asp文件是否存在,如存在则删除,否则创建该文件。
<%setobjfile=server.createobject("scripting.filesystemobject")
p=server.mappath("abc\if.asp")
ifobjfile.fileexists(p)then
objfile.deletefilep,true
response.write"此文件已存在,已被删除!
"
else
setcgfile=objfile.createtextfile(p,false)
response.write"此文件不存在,已完成建立"
endif%>
六、文件的打开、读取与写入
1.打开文件
语法:
文件系统对象实例名称.OpenTextFile(Filename,I/Omode,Creat)
使用FileSystemObject对象的OpenTextFile方法可以打开Filename指定的文本文件,并传回一个TextStream对象实例;I/Omode为文本文件的打开方式,"1"表示只读,"2"表示可写(清除文本文件的原始内容),"8"表示追加到文本文件的后面(不清除文本文件的原始内容),默认为"1";Creat为布尔值,若为True表示当文本文件不存在时就自动创建一个空的文件,若为False就会在文件未找到时产生一个出错信息。
默认值为False,建议改为True以避免在打开文件时检查是否出错。
在打开或创建了文本文件后,就得到一个TextStream对象,该对象有一个光标,就好象是在字处理程序中的光标一样。
TextStream对象有方法和属性。
2.读取文件内字符
打开文件并取得一个TextStream对象实例后,可使用TextStream对象提供的Read(Num)、ReadLine、ReadAll方法从文件读取Num个字符、一行或全部内容。
【读取几个字符的实例如下】
<%setcf=server.createobject("scripting.filesystemobject")
p=server.mappath("abc/if.txt")
response.writep
setsf=cf.opentextfile(p,1,false)
sf.skip(4)'在文本流对象中将光标的位置移动一定数目的字符串长度
t=sf.read(8)
response.writet
sf.close'关闭文本流对象以及对应的文本文件%>
【readone读取一行实例如下】
<%setcf=server.createobject("scripting.filesystemobject")
p=server.mappath("abc/if.txt")
response.writep
setsf=cf.opentextfile(p,1,true)
sf.skipline()'在文本对象流中将光标跳过一行
t=sf.readline
response.writet
sf.close%>
【readAll读取所有实例如下】
<%setcf=server.createobject("scripting.filesystemobject")
p=server.mappath("abc\if.txt")
response.writep&"
"
setsf=cf.opentextfile(p,1,false)
t=sf.readall
response.writereplace(t,chr(10),"
")
sf.close%>
3.向文件写入字符
打开文件并取得一个TextStream对象实例后,可使用TextStream对象提供的Write(String)、WriteLine(String)、WriteBlankLines(Num)方法,在文件内写入字符串、字符串和换行符、Num个换行字符。
【写入实例如下:
】
<%setobjf=server.createobject("scripting.filesystemobject")
p=server.mappath("if.txt")
setwf=objf.opentextfile(p,2,true)'以可写入方式打开ff.txt文件,如果该文件不存在,就创建它。
wf.write"中华人民共和国"'写入文本,必须用双引号""引起来。
wf.write(55+7)'write方法还具有计算功能,写入的为表达式的值。
wf.write"周年"
wf.writeline("--2011年10月1日")
wf.writeblanklines(3)'将3行空行写入流对象中。
wf.writeline"团结、勤奋、求实、创新"
wf.close%>
第二部分
ContentLinking组件:
专门用于管理网页或网址间的超文本链接。
通过一个网页或网址的线性排列顺序列表来管理多个网页或网址间的超文本链接。
一、建立ContentLinking组件的实例:
Set对象实例名称=Server.CreateObject("MSWC.Nextlink")
二、创建网页或网址的线性排列顺序文件
该文件是个文本文件,文件扩展名为.txt,其语法为:
网页的URL[描述文字[附注文字]]
其中“网页的URL”是表示所要连接的网页或网址;“描述文字”是对特定网页的说明文字,是显示给浏览者的;“附注文字”是对网址的附注说明,不显示给浏览者,但给编程者做详细的说明。
三、ContentLinking组件的方法
1、首先用 setnextlink=server.createobject("mswc.nextlink")创建一个名为nextlink的对象实例。
2、nextlink.GetListCount("url.txt")方法取得“网页或网址的线性排列文件”中的“网页或网址URL”个数。
返回值为整数。
3、nextlink.GetListIndex("url.txt")方法取得当前文档在“网页或网址的线性排列文件”中的排列顺序。
返回值为整数。
4、nextlink.GetNextDescription("url.txt")方法取得“网页或网址的线性排列文件”中的下一个“网页或网址URL”的描述说明,返回值为字符串。
5、nextlink.GetPreviousDescription("url.txt")方法取得“网页或网址的线性排列文件”中的前一个“网页或网址URL”的描述说明,返回值为字符串。
6、nextlink.GetNthURL("url.txt",n)方法取得“网页或网址的线性排列文件”中的指定顺序值的“网页或网址URL”,返回值字符串。
7、nextlink.GetNthDescription("url.txt",n)方法取得“网页或网址的线性排列文件”中的指定顺序值的“网页或网址URL”的描述说明,返回值字符串。
【诗词实例:
】
1、创建url.txt文件。
2、创建shi.asp文件:
<%response.write"
诗四首
"
setnextlink=server.createobject("mswc.nextlink")
count=nextlink.getlistcount("url.txt")
fori=1tocount
%>
'><%=nextlink.getnthdescription("url.txt",i)%>
<%next
setnextlink=nothing
%>
【运行结果】
3、创建incl.asp索引文件:
4、依次创建P1.asp、P2.asp、P3.asp、P4.asp文件。
如下
注意:
文件中要有
--#includefile="incl.asp"-->语句,以包含索引文件,创建索引链接。
第三部分
AdRotator组件应用:
利用广告组件可以实现站点上的广告服务,并对广告进行有效的管理。
一、创建AdRotator组件实例
方法一:
使用ASP的Server.CreateObject创建对象的实例。
语法如下:
<%SetMyAds=Server.CreateObject("MSWC.AdRotator")%>
方法二:
使用HTML
语法如下:
二、AdRatator组件的属性
AdRatator对象有三个属性,这些属性可以用来设置所有显示图像的特征。
(1)Border属性
该属性用于指定能否在显示广告时给广告加上一个边框以及广告边界大小。
其语法如下:
Integer=AdRotator.Border
AdRotator.Border=Integer
0表示广告没有边框,该属性值设置越大,则表示广告的边框越宽。
下面是该属性的应用实例:
<%Setad=Server.CreateObject("MSWC.Adrotator")
ad.Border=0%>
(2)Clickable属性
该属性指定该广告是否是一个超链接,其默认值是True。
其语法如下:
Boolean=AdRotator.Clickable
AdRotator.Clickable=Boolean
下面是该属性的应用实例:
<%Setad=Server.CreateObject("MSWC.Adrotator")
ad.Clickable=False%>
(3)TargetFrame属性
该属性指定广告图形所链接的网页在哪个框架中显示。
其语法如下:
String=AdRotator.TargetFrame
AdRotator.TargetFrame=String
该参数的值可以是页面上任何框架的名字,或下面列出的一个预定义的HTML框架标识符,比如“_top”、“_new”、“_child”、“_self”、“_parent”或“_blank”。
下面是该属性的应用实例:
<%Setad=Server.CreateObject("MSWC.Adrotator")
ad.TargetFram=”_top”%>
三、AdRatator组件的方法
AdRatator组件只有一个名为GetAdvertisement的方法。
GetAdvertisement方法用于管理和从指定的广告时间表文件中取得广告信息。
利用Response对象的Write方法,将该方法调用后的返回值输出,即在网页上实现广告条图案的显示。
语法:
String=AdRotator.GetAdvertisement(广告时间表文件)
下面代码是该方法的应用实例:
<%Setad=Server.CreateObject("MSWC.Adrotator")
ad.TargetFrame="_new"
Response.Write(ad.GetAdvertisement("/ads/adschedule.txt"))%>
上面的例子中,假设名为adschedule.txt的广告时间表文件保存在运行应用程序的当前文件夹/ads/中,在网页中产生的一条广告的代码如下所示:
//localhost/advert.asp?
>
四、广告时间表文件
广告时间表文件为文本文件,包含广告的显示计划和文件信息。
该文件包含两部分内容,这两部分使用包含星号(*)的一行来分隔。
第一部分(可选)包含的值可以应用到所有的广告中,这些值用来设置所有广告图像的属性,包括广告图像的宽度、高度及边框大小。
第二部分包含的值是针对各个广告的,用于存储广告客户图像、所要链接的网址、说明文字及其该广告出现的机率。
该文件的格式如下:
[REDIRECTURL]
[WIDTHwidth]
[HEIGHTheight]
[BORDERborder]
*
adURL
adHomePageURL
altText
impressions
说明:
REDIRECT:
指定DLL或执行重定向的ASP文件的虚拟路径及名字。
WIDTH:
广告的宽度,默认值是440个像素。
HEIGHT:
广告的高度,默认值是60个像素。
BORDER:
广告图标文件的边界宽度,默认值是1个像素。
adURL:
广告图像文件的位置,是文件的虚拟路径或文件名,可以在当前的服务器上也可以是一个URL地址。
可以使用JPEG、GIF或PNG格式的图像。
adHomePageURL:
客户重定向的URL,表示广告主页的地址,该值可以是一个完整的URL,或相对于虚拟目录的路径。
如果为空,那么广告就不会成为一个链接。
altText属性:
为不支持图像的浏览器设置的替代文本,相当于TML中标记的参数。
impressions属性:
是一个0到4294967295间的数,表示广告的相对分量,该属性值越大,广告显示越频繁。
下面是有三个广告的简单广告时间表文件(/ads/adschedule.txt)的例子。
REDIRECTadvert.asp
WIDTH400
HEIGHT40
BORDER1
*
images/sina.gif
新浪
20
images/sohu.jpg
搜狐
40
images/163.gif
网易
40
在上面的文件中,REDIRECT参数指示重定向文件为advert.asp,图标的宽度为400个像素,高度为40个像素,边界宽度为1。
第二部分是针对每个广告图标的信息,上面的示例中有三个广告图标,且它们显示的频率分别为20%、40%、40%。
五、重定向文件
用户单击任何一个广告后,都将重定向到REDIRECT行指定的ASP文件。
在该文件中,用Request对象的QueryString方法可获得用户所单击广告的adHomePageURL指定的URL,然后利用Response对象的Redirect方法,将页面重定向到广告客户的网址,即可进行广告链接的功能。
一个简单的广告重定向文件advert.asp的代码如下所示:
Response.Redirect(Request.QueryString("url"))
在以下的重定向文件代码中,首先获取查询字符串中的URL部分,如果该URL有效,就把它记录到Web服务器的活动日志中,并且重定向到该广告指向的站点地址。
<%url=Request.QueryString("url")
ifurl<>""then
Response.AppendToLog(url)
Response.Redirect(url)
Endif%>
当然,在重定向到客户端之前,也可以向执行特定功能的其他重定向文件添加代码。
例如,可以使用ADO将统计结果保存到一个数据库中,也可以记录从这个页面跳转到其他广告客户主页用户数量的统计信息,使用作为查询字符串一部分进行传递的URL值,说明用户选择的广告。
总结:
使用AdRotator组件实现广告的基本步骤。
(1)、按广告要求,编写广告时间表文件。
如myadrot.txt文件。
(2)编写广告重定向文件。
如adcount.asp文件。
(3)在需要显示广告条的asp文件中合适的位置,创建AdRotator组件实例,使用GetAdvertisement方法从广告时间表文件中取得广告信息返回值,并利用Response对象的Write方法,将返回值输出。
如