按照以下步骤,逐步操作,你很快就会拥有精美的图形化计数器。
1、在网站的某个目录如count下建立文本文件,如counter.dat ,用于存放访问量。文件内容仅有一行数字,表示网站初始访问量,一般为0。(别作弊!)
2、在相同目录下建立计数器的ASP程序,可命名为mycount.asp,内容如下:
<%
'自编ASP图形化计数器 V1.1
'用于网页浏览统计,免费使用,自由拷贝!
dim vistors
'获取计数文件counter.dat的地址
countfile=server.mappath("counter.dat")
'创建filesystemobject对象实例fs
set fs=server.createobject("scripting.filesystemobject")
'以读方式打开文件,其中1为读方式
set thisfile=fs.opentextfile(countfile,1,FALSE,FALSE)
'读取计数文件的内容
visitors=thisfile.readline
'关闭文件
thisfile.close
set fs=server.createobject("scripting.filesystemobject")
'以覆盖方式(TRUE)、以ASCII格式(FALSE)创建文件
set thisfile=fs.createtextfile(countfile,TRUE,FALSE)
'计数器的关键处:
'增加了变量connected,用于判断访问者是否为新的连接者
'此举可防止同一用户在同一次浏览中,由于多次按浏览器的“刷新”按钮,
'从而使计数器值不断升高的现象发生
if IsEmpty(session("connected")) then
application.lock
'禁止其它用户更改计数器的值
visitors=visitors+1
'计数器值加1
thisfile.writeline(visitors)
'将结果写入文件
application.unlock
'取消锁定,允许用户更改计数器的值
else
application.lock
visitors=visitors
thisfile.writeline(visitors)
application.unlock
end if
session("connected")=TRUE
'设定来访者为已连接者(TRUE),此时再按“刷新”按钮计数器值不会变化。
countlen=len(visitors)
'获得计数器值的长度(即数值的位数)
'如果您不想使用图形,可用如下内容代替for/next循环
'文本计数器: response.write "document.write("&visitors&");"
'逐位显示图形化数字
for i=1 to countlen
response.write "document.write('<img src="&"images/"&"/"&mid (visitors,i,1)&".gif></img>');"
next
'关闭文件
thisfile.close
set fs=nothing
%>
3、将counter.dat、mycount.asp文件放在同一目录下(也可分开存放,但此时需指定文件路径),并在该目录下建立images目录,存放图形化的数字文件,要求数字0对应0.gif,数字1对应1.gif,以此类推(展现你个性的机会来了,你可以将数字做得非常Cool)。
4、至此,大功即将告成。你只要在网页中使用以下格式调用计数器即可:
<script language="javascript" src="count/mycount.asp">
</script>
注意:(1)如果你采用不同的目录名、文件名,请作相应修改;
(2)计数器程序采用ASP编程,请网站上试验或在个人服务器PWS调试;