2008年4月17日 星期四

ASP.NET 訪客計數器

下面文章,是我即將推出的新書內容,分享一些給大家參考:

我們用一個文字檔來進行記錄,把訪客的參觀數字,記錄在這個檔案(counter.txt)裡面。重點是:務必把這個檔案的權限,設定為「可寫入」。這樣才能每次累計加一,記錄訪客人數。

本範例counter.aspx的後置程式碼很簡單,裡面只作了兩件事而已。第一是讀取counter.txt檔案,取出原本的訪客人數。第二,是把人數加一,然後以圖片方式展現在畫面上,再把更新後的數字寫入檔案。

數字圖片,放在本章範例的 image目錄底下。例如:1的圖片,就名為1lcdb0,gif。2的圖片,就名為2lcdb0,gif……以此類推。


Imports System.IO

Partial Class _Book_My_Files_Counter
Inherits System.Web.UI.Page

Protected Sub Page_Load(ByVal sender As Object, ByVal e As System.EventArgs) Handles Me.Load
'====讀取檔案 (務必修改這個檔案的權限,需要「寫入」的權限)====
Dim sr As New StreamReader(Server.MapPath("counter.txt"))

'--把檔案內, 原本的訪客人數[加一]
Dim visitors As String = sr.ReadLine()
visitors = CInt(visitors) + 1

'--把訪客人數(數字) 轉換成 [圖片]展示在畫面上
Dim Length As Integer = Len(visitors) '--計算訪客人數的[字串長度]
Dim strURL As String = ""

While Length >= 1
'--訪客人數的每一位數字,都用圖片來呈現。
strURL = "" & strURL
Length = Length - 1
End While
sr.Close()

'====寫入檔案,紀錄最新的訪客人數==================
Dim sw As New StreamWriter(Server.MapPath("counter.txt"))
sw.WriteLine(visitors) '--找不到檔案也不會出現錯誤訊息,而且會自動新增一個檔案。
sw.Close()

Label1.Text = strURL
End Sub
End Class


想要學得更多,就看看我的書吧。....Thanks

2 則留言:

AnnieTsai 提到...

請問這是哪一本書呢?已經出版了嗎?

JUF 提到...

訪客計數器~
如果我是一直F5您的網頁~
他就一直計數~
有過濾IP的寫法嗎~
或是寫入session的寫法~
書裡有無提到~
哪種訪客計數器的運用比較實用~
我比較想知道這個~