ASP记数器

      这两天有好几个老的ASP网站要改,其中有要求加记数器,为图简单,就用文本文件的形式存储记数。以前用ifream的形式嵌入,不能很好的控制记数器显示的风格,现在改进了一下,可以很好的与嵌入板块风格结合了。把做的分享一下:

一、需要有三个文件:

1、Global.asa      全局应用程序文件,执行Application_Start、Session_Start事件

2、GetCount.asp      读取当前记录

3、Count.txt      存储访问数

二、代码:

1、Global.asa

 1<SCRIPT LANGUAGE=VBScript RUNAT=Server>
 2SUB Application_OnStart
 3On Error Resume Next
 4SFilePath=Server.MapPath("Count.txt")  '假设计数器文件在根目录下的Count目录中,文件名为Count.txt
 5Set oFSO=Server.CreateObject("Scripting.FileSystemObject")
 6IF not oFSO.FileExists(sFilePath) THEN
 7    oFile=oFSO.CreateTextFile(sFilePath,true)  '如果文件不存在,则创建一个文件
 8    oFile.Write("1")
 9    oFile.close
10     Application("TotalCount")=1
11ELSE
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
19End IF
20err.clear
21END SUB
22</SCRIPT>
23
24<SCRIPT LANGUAGE=VBScript RUNAT=Server>
25SUB Application_OnEnd
26END SUB
27</SCRIPT>
28
29<SCRIPT LANGUAGE=VBScript RUNAT=Server>
30SUB Session_OnStart
31On Error Resume Next
32SFilePath=Server.MapPath("Count.txt")  '假设计数器文件在根目录下的Count目录中,文件名为Count.txt
33Set oFSO=Server.CreateObject("Scripting.FileSystemObject")
34IF  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
50ELSE
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
61End IF
62err.clear
63End Sub
64</SCRIPT>
65
66<SCRIPT LANGUAGE=VBScript RUNAT=Server>
67SUB Session_OnEnd
68END SUB
69</SCRIPT>

 

2、GetCount.asp

1<%="document.write('" & Application("TotalCount"& "')"%>

 

3、需要显示计数器的地方加入,HTML也可以:

1<script type="text/javascript" src="../GetCount.asp"></script>

 

 

 

posted @ 2009-05-11 11:18  jcjks  阅读(271)  评论(0编辑  收藏  举报