??????這兩天有好幾個老的ASP網站要改,其中有要求加記數器,為圖簡單,就用文本文件的形式存儲記數。以前用ifream的形式嵌入,不能很好的控制記數器顯示的風格,現在改進了一下,可以很好的與嵌入板塊風格結合了。把做的分享一下:
一、需要有三個文件:
1、Global.asa??????全局應用程序文件,執行Application_Start、Session_Start事件
2、GetCount.asp??????讀取當前記錄
3、Count.txt??????存儲訪問數
二、代碼:
1、Global.asa
?1
<SCRIPT?LANGUAGE=VBScript?RUNAT=Server>
?2
SUB?Application_OnStart
?3
On?Error?Resume?Next
?4
SFilePath=Server.MapPath("Count.txt")??'假設計數器文件在根目錄下的Count目錄中,文件名為Count.txt
?5
Set?oFSO=Server.CreateObject("Scripting.FileSystemObject")
?6
IF?not?oFSO.FileExists(sFilePath)?THEN
?7
????oFile=oFSO.CreateTextFile(sFilePath,true)??'如果文件不存在,則創建一個文件
?8
????oFile.Write("1")
?9
????oFile.close
10
?????Application("TotalCount")=1
11
ELSE
12
????Set?oFile?=?oFSO.OpenTextFile(sFilePath)?
13
????NCount=OFile.ReadLine
14
????Application("TotalCount")=Clng(nCount)+1
15
????oFile.close
16
????Set?oFile=oFSO.OpenTextFile(sFilePath,2)
17
????oFile.Write(Application("TotalCount"))
18
????oFile.close
19
End?IF
20
err.clear
21
END?SUB
22
</SCRIPT>
23
24
<SCRIPT?LANGUAGE=VBScript?RUNAT=Server>
25
SUB?Application_OnEnd
26
END?SUB
27
</SCRIPT>
28
29
<SCRIPT?LANGUAGE=VBScript?RUNAT=Server>
30
SUB?Session_OnStart
31
On?Error?Resume?Next
32
SFilePath=Server.MapPath("Count.txt")??'假設計數器文件在根目錄下的Count目錄中,文件名為Count.txt
33
Set?oFSO=Server.CreateObject("Scripting.FileSystemObject")
34
IF??Application("TotalCount")=0?or?Application("TotalCount")=""?THEN
35
'如果第一次運行網站,比如重啟后,我們就需要從文件中讀取出以前的計數值
36
????IF?not?oFSO.FileExists(sFilePath)?THEN
37
????????oFile=oFSO.CreateTextFile(sFilePath,true)??'如果文件不存在,則創建一個文件
38
????????oFile.Write("1")
39
????????oFile.close
40
?????????Application("TotalCount")=1
41
????ELSE
42
????????Set?oFile?=?oFSO.OpenTextFile(sFilePath)?
43
????????NCount=OFile.ReadLine
44
????????Application("TotalCount")=Clng(nCount)+1
45
????????oFile.close
46
????????Set?oFile=oFSO.OpenTextFile(sFilePath,2)
47
????????oFile.Write(Application("TotalCount"))
48
????????oFile.close
49
????End?IF
50
ELSE
51
????Application("TotalCount")=?Application("TotalCount")+1
52
????IF?not?oFSO.FileExists(sFilePath)?THEN
53
????????oFile=oFSO.CreateTextFile(sFilePath,true)??'如果文件不存在,則創建一個文件
54
????????oFile.Write(Application("TotalCount"))
55
????????oFile.close
56
????ELSE
57
????????Set?oFile=oFSO.OpenTextFile(sFilePath,2)
58
????????oFile.Write(Application("TotalCount"))
59
????????oFile.close
60
????End?IF
61
End?IF
62
err.clear
63
End?Sub
64
</SCRIPT>
65
66
<SCRIPT?LANGUAGE=VBScript?RUNAT=Server>
67
SUB?Session_OnEnd
68
END?SUB
69
</SCRIPT>

?2

?3

?4

?5

?6

?7

?8

?9

10

11

12

13

14

15

16

17

18

19

20

21

22

23

24

25

26

27

28

29

30

31

32

33

34

35

36

37

38

39

40

41

42

43

44

45

46

47

48

49

50

51

52

53

54

55

56

57

58

59

60

61

62

63

64

65

66

67

68

69

?
2、GetCount.asp
1
<%="document.write('"?&?Application("TotalCount")?&?"')"%>

?
3、需要顯示計數器的地方加入,HTML也可以:
1
<script?type="text/javascript"?src="../GetCount.asp"></script>

?
?
?