<%
dim counter,a
a=0
sub incounter()
set fs=server.createobject("scripting.filesystemobject")
counterfile=server.mappath("counter.txt")
set txt=fs.opentextfile(counterfile,1,true)
counter=txt.readline
txt.close
counter=counter+1
set txt=fs.createtextfile(counterfile,true)
txt.writeline(counter)
txt.close
end sub
application.lock
incounter
application.unlock
%>
<html><title>计数器</title>
<body bgcolor="#FF9933">
<div align="center">
<% if counter="123" then
a=1
response.write"哇!这么巧!"
end if
%>
你是本页第<font size="6" color="#3300FF"><%=counter%></font>个访问者!<p>
Active Server Pager(动态服务器主页,简称ASP),通过读写服务器的文件,结合script语言(VBscript或Jscript)和html码可以方便地实现页面计数器功能。现流行的ASP教材和网络上的ASP教程都谈到过ASP计数器的设计问题,但是都过于简单,比如没有提到怎样实现计数器脚本和主页面的分离以及图象计数器的实现等。下面就作者为单位制作NT web站点的经验,举实例循序渐进谈谈关于ASP计数器的设计,希望能给ASP的初学者和对ASP WEB编程有兴趣的网友一些启发。
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计数器均在Windows NT Server 4.0(中文) / IIS3.0 下测试通过。以下任何一种环境都可执行ASP:
一、Windows NT Server 4.0 / IIS3.0以上
二、Windows NT WorkStation 4.0 / Microsoft Peer Web Service3.0以上
三、Windows 95/98 / Microsoft Personal Web Server 1.0a以上