按照以下步驟,逐步操作,你很快就會擁有精美的圖形化計數器。
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調試;