第三期提供的ASP计数器还算满意吧?说实话,我不满意。那个计数器有许多缺点:必须做在网页页面中,不开启PWS就根本无法浏览页面;每个需要计数器的地方都要单独做。怎样解决这些问题呢?
经过一下午的艰苦努力后,我终于做出了一个计数器,写一次就可以到处使用。想看看吗?
在网站下某个目录中新建几个文件夹,命名为001、002、003等等,并分别放入式样不同的0~9的gif图片。前面已经介绍过,这里不再赘述。
新建一个ASP文件,这里假设为default.asp,写入以下代码:
<%
on error resume next
LogFile=Request.Item("User")
MaxLength=Request.Item("Length")
width=Request.Item("x")
height=Request.Item("y")
dir=Request.Item("Mode")
file=server.MapPath(".\" & LogFile & ".txt")
set fileacc=server.CreateObject("Scripting.FileSystemObject")
set myFile=fileacc.OpenTextFile(file)
visitors=myFile.readline
myFile.close
'这行用来链接广告,和后面标注的那几行配对使用
Response.Write "document.write(" & chr(34) & "<a href=http://tips.mycool.net target=_blank>" & chr(34) & ");"
'将下面这段代码删去后不注册就可使用
if err<>0 then
Response.Write "document.write(" & chr(34) & "请注册后再使用" & chr(34) & ");"
'这行和前面标注的那行配对使用,用来链接广告
Response.Write "document.write(" & chr(34) & "</a>" & chr(34) & ");"
Response.End
end if
if session("in")<>LogFile then
session("in")=LogFile
visitors=visitors+1
set myFile=fileacc.CreateTextFile(file)
myFile.WriteLine(visitors)
myFile.close
end if
'文本计数器有时候比图形的更好用,不是吗?
if dir="text" then
Response.Write "document.write(" & chr(34) & visitors & chr(34) & ");"
'这行和前面标注的那行配对使用,用来链接广告
Response.Write "document.write(" & chr(34) & "</a>" & chr(34) & ");"
Response.End
end if
strlength=len(visitors)
for i=1 to MaxLength-strlength
'这里的“localhost”改为你自己的网站名称
Response.Write "document.write(" & chr(34) & "<img src=http://localhost/" & dir & "/0.gif height=" & height & "width=" & width & " border=0>" & chr(34) & ");"
next
for i=1 to strlength
'这里的“localhost”改为你自己的网站名称
Response.Write "document.write(" & chr(34) & "<img src=http://localhost/" & dir & "/" & mid(visitors,i,1) & ".gif height=" & height & "width=" & width & " border=0>" & chr(34) & ");"
next
'这行和前面标注的那行配对使用,用来链接广告
Response.Write "document.write(" & chr(34) & "</a>" & chr(34) & ");"
set fileacc=nothing
%>
将以上代码写为一个文本文件,存为default.asp,保存到网站中,这里假设网站名称是localhost,再往网站中传一个文本文件“test.txt”,在网页中写上:
<script src=http://localhost/default.asp?User=test&Length=6&x=15&y=20&Mode=003"></script>
改变一下User、Length、x或y的值,看看效果,怎么样?想在另一个网页中使用这个计数器?没问题,改一个User,并上传一个对应的文本文件就是另外一个计数器了。还可以通过Length改变计数器的位数,用x、y来改变数字的大小,用Mode改变计数器的图片样式。真正做到“写一次到处可用”了。加上自动注册功能会更好用。
满意了吗?