计数器,就是通过其中的File Access component(文件访问组件)来读写服务器文件来实现。算法思路是:在服务器端用一个文本(ASCII)文件存放计数数值,每当页面被访问时就从文件中读出数值,显示给用户,并且使数值加1,把增加后的数值写回到文件。
写入数据到一个服务器计数文件的ASP语句和说明如下:
CounFile=Server.MapPath("用来存放计数器值的文件名")
'Server服务器访问方法MapPath(path)是将存放计数器值的文件所在的路径转换成物理路径
SET FileObject=Server.CreateObject("Scripting.FileSystemObject")
'使用方法CreateObject定义对象FileSystemObject
SET OutStream=Server.CreateTextFile(FileObject,True,False)
'使用对象FileSystemObject提供方法CreateTextFile产生文本文件,其中参数"True"表示覆盖原来的文件,"False"表示文件为ASCII类型
OutStream.WriteLine "要写入的数据"
'OutStream.WriteLine为往文件写入一行数据
从一个服务器文件读取数据的ASP语法如下:
CounFile=Server.MapPath("用来存放计数器值的文件名")
SET FileObject=Server.CreateObject("Scripting.FileSystemObject")
SET InStream=Server.OpenTextFile(FileObject,1,false,false)
'使用对象FileSystemObject提供方法OpenTextFile产生文本文件,
'其中参数"True"表示覆盖原来的文件,"False"表示文件为ASCII类型
"要读取的数据"=InStream.ReadLine
'其中InStream.ReadLine为从文件中读取的一行数据
下面是一个用ASP实现页面计数器功能的计数器例子(simplecounter.asp),我在代码中详细注释了语句。你可以把以下代码粘贴到你需要计数的页面代码中。当然,你的服务器必须支持ASP,且你已经在主页所在的目录下创建了一个内容为0的文本文件simplecounter.txt。
简单的ASP计数器simplecounter.asp代码及注释:
<%
CountFile=Server.MapPath("simplecounter.txt")
'文件aspconter.txt是用来储存数字的文本文件,初始内容一般是0
Set FileObject=Server.CreateObject("Scripting.FileSystemObject")
Set Out=FileObject.OpenTextFile(CountFile,1,FALSE,FALSE)
counter=Out.ReadLine
'读取计数器文件中的值
Out.Close
'关闭文件
SET FileObject=Server.CreateObject("Scripting.FileSystemObject")
Set Out=FileObject.CreateTextFile(CountFile,TRUE,FALSE)
Application.lock
'方法Application.lock禁止别的用户更改计数器的值
counter= counter + 1
'计数器的值增加1
Out.WriteLine(counter)
'把新的计数器值写入文件
Application.unlock
'使用方法Application.unlock后,允许别的用户更改计数器的值
Response.Write("您是第")
Response.Write("
")
Response.Write(counter)
'把计数器的值传送到浏览器,以红(red)色显示给用户
Response.Write("")
Response.Write("位访问者")
Out.Close
'关闭文件
%>
本文来自:电脑
网络(zl57),详细出处参考:zl57/Article.asp?id=1097