海妖 发表于 2015-1-16 22:25:49

ASP网页设计FSO组件之文件操纵(上)

ASP脚本是采用明文(plaintext)方式来编写的。FSO中除能够对驱动器、文件夹的操纵之外,功效最壮大的就是对文件的操纵了。它能够用来记数、内容办理、搜刮还可天生静态HTML页面等等。<P>  1、fso.OpenTextFile
  无需多说,fso.OpenTextFile就是翻开某个文件了,一样平常情形之下是翻开的txt文本文件。以是起首我们先创建一个txt文件,然后经由过程FSO来读取个中的内容。<P>  1,info.txt<P>
name:cnbruce
sex:male
<P>  创建了该文件,上面再做个ASP页面,固然最好两个文件是在统一目次下。<P>  2,opentxt.asp

<%
whichfile=server.mappath("info.txt")
Setfso=CreateObject("Scripting.FileSystemObject")
Settxt=fso.OpenTextFile(whichfile,1)
rline=txt.ReadLine
rline=rline&"<br>"&txt.ReadLine
Response.Writerline
txt.Close
%>
<P>  必要注重:不管是经由过程FSO翻开驱动器、翻开文件夹、翻开文件,和今后要打仗到的翻开数据库,都只能是翻开相对物理路径地点。但一样平常情形是上传到空间服务商那,不克不及很间接地懂得到本人文件的地点地位,以是激烈保举利用server.mappath办法:平台移植性强,合用性强。<P>  CreateObject("Scripting.FileSystemObject")创建了FSO组件的毗连,fso.OpenTextFile(whichfile,1)翻开了info.txt该文件。参数“1”暗示“ForReading:以只读体例翻开文件。不克不及写这个文件。”,其他另有参数“2”暗示“ForWriting:以写体例翻开文件”,参数“8”暗示“ForAppending:翻开文件并从文件开端入手下手写”。<P>  翻开了该文件,接上去是否是要显现文件中的内容?那就经由过程txt.ReadLine办法读取文本中的一整行,假如必要持续读取下一行,则持续利用txt.ReadLine办法。固然初此另有别的的读取办法,好比txt.Read(7)读取指定命量的字符,txt.ReadAll前往文本中的全体内容。<P>  2、fso.CreateTextFile
  如fso.CreateFolder创建文件夹般,fso.CreateTextFile则是创建文件了。<P>  3,creattxt.asp<P>
<%
whichfile=server.mappath("info.txt")
Setfso=CreateObject("Scripting.FileSystemObject")
SetMyFile=fso.CreateTextFile(whichfile,True)
MyFile.WriteLine("MyNameIsCN-Bruce")
MyFile.WriteLine("MySexIsMale")
MyFile.Close
%>
<ahref="opentxt.asp">检察内容</a>
<P>  本次创建的文件是上一info.txt文件,fso.CreateTextFile(whichfile,True)个中的参数true即暗示能掩盖已有文件。创建后必要向内里增加数据就接纳“MyFile.WriteLine”了。<P>  那如今就能够创建一个复杂的文本记髁耍辜堑靡郧暗募鞘浚?,经由过程application、session、global.asa举行记数;2,经由过程Counter组件举行记数。但二者都有通病,就是不克不及保留,假如服务重视新启动后,是否是一切记数全体清空了呢:)那如今就能够利用文原本纪录数据了,即便重启,下次提取的也仍是该文件。<P>  实验:文本计数器<P>  起首创建一记数的文本文件counter.txt,设定初始值为“1”<P>  4,counter.txt<P>
1
<P>  接着是记数的ASP文件,功效是显现文本的记数,本做加1的记数,然后还要将新的记数写进文本文件。<P>  5,txtcount.asp<P>
<%
whichfile=server.mappath("counter.txt")
翻开文件并将其值读取,最初封闭毗连开释资本
setfso=createobject("Scripting.FileSystemObject")
setopenfile=fso.opentextfile(whichfile,1)
visitors=openfile.readline
openfile.close
页面显现记数内容并做加1运算
response.write"您是本页的第"&visitors&"位访客"
visitors=visitors+1
将新的数值增加写进到文本,最初封闭一切毗连开释资本
setcreatfile=fso.createtextfile(whichfile)
creatfile.writeLine(visitors)
creatfile.close
setfso=nothing
%>
<P>  那依据这个能够持续地扩大内容:好比让记数用数字图片显现。固然条件就是你必要0-9的10张记数图片,并将此图片放于img文件夹中。
  下为一加强的txtcount.asp内容代码。<P>
<%
whichfile=server.mappath("counter.txt")<P>setfso=createobject("Scripting.FileSystemObject")
setopenfile=fso.opentextfile(whichfile,1)
visitors=openfile.readline
openfile.close
CountLen=len(visitors)
response.write"您是本页的第"<P>fori=1to6-countLen暗示最年夜值999999
response.write"</img>"
next
response.write"位访客"visitors=visitors+1
setcreatfile=fso.createtextfile(whichfile)
creatfile.writeLine(visitors)
creatfile.close
setfso=nothing
%>

<P>  本程序中接纳的是mid函数,该函数的感化是前往某字符串中从第几位字符入手下手的几个字符。格局即为:Mid(string,start,length)<P>
<scriptlanguage=vbs>
cn_string="cnbrucelovecnrose"
cn_start=9
cn_length=4
alert(mid(cn_string,cn_start,cn_length))
</script>
缺点:安全性不是太差了,还行,只要你充分利用系统自带的工具;唯一缺点就是执行效率慢,如何进行网站优化以后,效果会比较好。

不帅 发表于 2015-1-19 11:44:43

他的语法和设计思路和VB完全相同,导致很多ASP的书都留一句“相关内容请参考VB的相关教材....”更糟糕的是,相当多的ASP教程混合了Javascript,VBscript等等脚本语言,搞的初学者。

海妖 发表于 2015-1-24 13:39:12

不能只是将它停留在纸上谈兵的程度上。

admin 发表于 2015-2-1 16:11:30

Request:从字面上讲就是“请求”,因此这个是处理客户端提交的东东的,例如Resuest.Form,Request.QueryString,或者干脆Request("变量名")

变相怪杰 发表于 2015-2-7 08:14:25

作为IE上广为流传的动态网页开发技术,ASP以它简单易学博得了广大WEB程序爱好这的青睐,而且它对运行环境和开发品台的不挑剔,以及有大量有效的参考手册,极大的推广了它的发展。

再现理想 发表于 2015-2-21 06:03:17

以HTML语言整合(HTML负责界面上,ASP则负责功能上)形成一个B/S(浏览器/服务器)模式的网页程序。

谁可相欹 发表于 2015-3-6 19:54:44

我认为比较好的方法是找一些比较经典的例子,每个例子比较集中一种编程思想而设计的。

简单生活 发表于 2015-3-13 07:09:28

Server:这个表示的服务器,操作服务器的一些东西使用这个,如Server.Mappath转换服务器路径,Server.CreateObject实例化一个组件

精灵巫婆 发表于 2015-3-20 16:23:43

ASP(ActiveServerPages)是Microsfot公司1996年11月推出的WEB应用程序开发技术,它既不是一种程序语言,也不是一种开发工具,而是一种技术框架,不须使用微软的产品就能编写它的代码,能产生和执行动态、交互式、高效率的站占服务器的应用程序。
页: [1]
查看完整版本: ASP网页设计FSO组件之文件操纵(上)