国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 學院 > 開發設計 > 正文

網頁計數器的程序

2019-11-18 22:39:34
字體:
來源:轉載
供稿:網友
網頁計數器DIY

隨著網絡大行其道,網頁計數器也流行起來。事實上大多數網站均有網頁計數器,用以反映該網站的訪問量。計數器的來源很廣,Frontpage等網頁編輯器自帶了網頁計數器,有的站點也提供免費的計數器下載。其實熟悉了asp編程后,自己做一個計數器很容易。下面介紹一種實現方法。
計數器原理是:在第一次使用網頁時置初始值1,以后每請求網頁一次,將計數器值加1。這樣我們只要在服務器上放置一個文本文件counter.txt,文本文件的內容有計數器的值,以后每請求一次頁面,讀出文本文件的計數器的數值,加1顯示,然后再將原來的值改變為加1后的值,保存到文本文件。至于初始置1,在服務器上可先不建counter.txt,在網頁中,先判斷服務器上是否有counter.txt文件,沒有就生成counter.txt,在counter.txt中寫入1,網頁上顯示計數器值1,完成初始置1。以后每次只要到指定目錄下將counter.txt文件刪除即可置初始值。
具體操作時要有顯示數字0、1、2….9的圖像文件,0.gif、1.gif、2.gif…9.gif,文件不能太大,一般18*25即可。將你要放計數器的網頁布局設計完畢,再改成ASP文件,將下面代碼輸入到要顯示計數器的地方,使用時,程序將自動在虛擬目錄count下建立counter.txt文件。置初始值時將文件刪除即可。對了,虛擬目錄count必須給everyone有寫的權限。
<%
Const ForReading = 1, ForWriting = 2, ForAppending =3
Const TristateUseDefault = -2, TristateTrue = -1, TristateFalse = 0
filepath=server.mappath("/count")
filename=filepath+"/counter.txt"
set fs=createobject("scripting.filesystemobject")
if fs.fileexists(filename) then



    set f=fs.getfile(filename)
    Set ts = f.OpenAsTextStream(ForReading,
TristateUseDefault)
    s=ts.readline+1
    ts.close
else
    fs.createtextfile(filename)
    set f=fs.getfile(filename)
    s=1
end if

'向counter.txt中寫數據
Set ts = f.OpenAsTextStream(ForWriting,
TristateUseDefault)
ts.writeline(cstr(s))
ts.close

'顯示計數器
s=cstr(s+1000000)
s=mid(s,2,6)
for i=1 to 6
   response.write "<img src='../images/"&mid(s,i,1)
&".gif' width='18' height='25'>"
next

%>
性急的朋友要問,你的這個計數器值顯示6位計數,如果要顯示8位計數,怎么辦?別著急,等我講完下一個例子我會給一個通式的。
這個計數器有一個缺點,就是每次刷新頁面計數器都加1,這是因為每刷新一次頁面,系統認為你重新請求頁面;而且,如果你不從主頁面進入網站,計數器不會改變計數。如果想要



更精確一點,只要將上面的代碼略加修改,放到你的global.asa的session_onstart中,這樣,只有新用戶進入網站,計數器才會加1。已經進入網站的用戶刷新頁面,不會引起計數器計數的改變,而且不管你從哪個頁面進站,計數器都能捕捉到你。
<script language=vbscript runat=server>
sub application_onstart
filepath=server.mappath("/count")
filename=filepath+"/counter.txt"
set fs=createobject("scripting.filesystemobject")
if not fs.fileexists(filename) then
  fs.createtextfile(filename)
    set f=fs.getfile(filename)
           s=1
Set ts = f.OpenAsTextStream(2, -2)
ts.writeline(cstr(s))
ts.close
          else
    set f=fs.getfile(filename)
    Set ts = f.OpenAsTextStream(1, -2)
    s=ts.readline+1
    ts.close
end if
application(“visitor”)=s
end sub

sub session_onstart
session.timeout=5
application(“visitor”)=application(“visitor”)+1
set f=fs.getfile(filename)
     Set ts = f.OpenAsTextStream(2, -2)
      


ts.writeline (cstr(application(“visitor”)))
ts.close
end sub
</script>
在網頁相應部分根據application(“visitor”)的值顯示計數器的圖像。
<%
s=cstr(application("visitor")+10^6)
s=mid(s,2,6)
for i=1 to 6
   response.write "<img src='../images/"
&mid(s,i,1)&".gif' width='18' height='25'>"
next
%>
要顯示n位計數器只要將上面代碼改為:
<%
s=cstr(application(“visitor”)+10 ^n)
s=mid(s,2,n)
for I=1 to n
   response.write "<img src='../images/"
&mid(s,i,1)&".gif' width='18' height='25'>"
next
%>
這樣要得到8位計數器,只要加上n=8即可。
要是覺得每次有用戶進入網站,均對counter.txt寫入太頻繁,可以在session_onstart中設置,在application
(“visitor”)為十的倍數時將計數值寫進counter.txt。
怎么樣?現在就動手吧!
發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 江油市| 新巴尔虎右旗| 衡山县| 和平县| 西贡区| 华阴市| 新闻| 三门县| 扎鲁特旗| 怀集县| 玉树县| 任丘市| 丰镇市| 天台县| 辛集市| 兴城市| 沁源县| 英吉沙县| 泰兴市| 湘西| 广汉市| 大连市| 龙江县| 双柏县| 靖州| 筠连县| 二手房| 桐庐县| 成武县| 中山市| 新兴县| 肥东县| 陇西县| 丹寨县| 枣庄市| 孟连| 大石桥市| 栖霞市| 永泰县| 青神县| 宜良县|