ASP网页计数器源代码
2007-07-07 21:05
、在网站目录下新建一个文本 txtcounter. txt在文本填写1或其他识字
2、新建一asp文件 count.asp加入以下代码
<%
CountFile=Server.MapPath("txtcounter. txt")
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. lockcounter= counter + 1
Out.WriteLine(counter)
Application.unlock
Response.Write"document.write("&counter&")"
'为了在页面正确显示计数器的值调用VBScript函数Document.writeOut.Close
%>
3、在需要计数的网页加入总访问<script language="JavaScript"src="count.asp">次
现在看网页就是可以计数了
与页面分离的图象计数器
人们的追求是永无止境的也许你需要一个更有个性的图形数字计数器而不是简单的文本数字计数器。没问题现在我们就来看看用ASP是怎样来实现图形计数器功能的。要实现图形计数器关键点在于如何实现把计数器文件中的数据值转变为对应的图象表示。因为十进制数有0, 1,2,3,4,5,6,7,8,9共十个不同的数数字我们需要有十个对应的图象且图象的文件名字要与显示的数字对应起来比如0对应的数字图象的文件名字就是0.gif1对应的就是1.gif . . . (图象自己可以用Photoshop等工具制作或者从网络上下载) 。这里我们要用到VBScript函数Len(string | varname) 、 Mid(string, start[, length]) 。 由Len(counter)可得到计数器值的位数,由Mid(counter, i, 1)可以得到计数器值的第i位上的数字我们可利用这个值来调用相应的数字图象。用For循环语句,我们不难得出计数器值各个位上的数字并转化成对应的数字图象这样我们就能实现文本数值到图象数字的转变。下面就是一个用ASP编写的图象计数器实例 因为大部分代码前面都分析过所以代码中只注释了部分语句。
与页面分离的图象计数器imgcounter.asp代码:
<% @language="VBScript"%>
<%dim images(20)
'定义一数组用来存放显示每一位数字图象的语句
CountFile=Server.MapPath("imgcounter. txt")
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. lockcounter= counter + 1
Out.WriteLine(counter)
Application.unlockcountlen=len(counter)
'得到计数器值的位数for i=1 to countlenimages(i)="<imgsrc="&"http://202. 101.209.75/asptemp/counter/images/"&"/" &mid(counter, i, 1) & ".gif></img>"
'由循环语句得到各个位上数值对应图象的显示代码(html) 并把它存在数组中'具体使用时请注意图象的实际服务器及目录路径response.write"document.write(' "&images(i)&"' ) ;"
'调用函数Document.write输出显示数字图象的html代码next
Out.Close
%>
在要计数的页面加入如下的代码
<p>
您是第
<script language="JavaScript" src="imgcounter.asp">
//引用时注意ASP计数器所在的服务器及目录路径。
</script>
位来客
</p>
计数器设计详解
ASP内含五个内置的"Active Server Components"(ActiveX服务器组件) 即Database Access component(数据库访问组件) 、 File Access component(文件访问组件) 、 Ad Rotator component(广告轮播器组件) 、 Brower Capabilitiescomponent(浏览器信息组件) 、 Content Linking component(内容链接组件) 。我们下面要设计的计数器就是通过其中的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("<font color=red>")
Response.Write(counter)
'把计数器的值传送到浏览器 以红(red)色显示给用户
Response.Write("</font>")
Response.Write("位访问者")
Out.Close
'关闭文件
Justg是一家俄罗斯VPS云服务器提供商,主要提供南非地区的VPS服务器产品,CN2高质量线路网络,100Mbps带宽,自带一个IPv4和8个IPv6,线路质量还不错,主要是用户较少,带宽使用率不高,比较空闲,不拥挤,比较适合面向非洲、欧美的用户业务需求,也适合追求速度快又需要冷门的朋友。justg的俄罗斯VPS云服务器位于莫斯科机房,到美国和中国速度都非常不错,到欧洲的平均延迟时间为40毫秒,...
CloudServer是一家新的VPS主机商,成立了差不多9个月吧,提供基于KVM架构的VPS主机,支持Linux或者Windows操作系统,数据中心在美国纽约、洛杉矶和芝加哥机房,都是ColoCrossing的机器。目前商家在LEB提供了几款特价套餐,最低月付4美元(或者$23.88/年),购买更高级别套餐还能三个月费用使用6个月,等于前半年五折了。下面列出几款特别套餐配置信息。CPU:1cor...
hostodo怎么样?快到了7月4日美国独立日,hostodo现在推出了VPS大促销活动,提供4款Hostodo美国独立日活动便宜VPS,相当于7折,低至$13/年,续费同价。Hostodo美国独立日活动结束时间不定,活动机售完即止。Hostodo商家支持加密数字货币、信用卡、PayPal、支付宝、银联等付款。Hostodo美国独立日活动VPS基于KVM虚拟,NVMe阵列,1Gbps带宽,自带一个...