|
马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。
您需要 登录 才可以下载或查看,没有帐号?立即注册
x
因为ASP脚本语言非常简单,因此其代码也简单易懂,结合HTML代码,可快速地完成网站的应用程序。还无法完全实现一些企业级的功能:完全的集群、负载均横。网页人人看到这个题目应当蛮镇静的吧,我终究能够具有一份完全的站内流量统计了,没错,笔者明天就要率领人人将这个坚苦的
事情完成,我要在这里申明的是假如你想要作统计的网页数目十分复杂,那你就得在每个网页的一开首将这个程序含进
(Include),不外我能够告知你这是值得的,由于这一份流量统计表能够完全记录全部月的流量统计,而不单单是明天和今天
罢了,我信任你必定很乐意听到我这么说吧!!!由于我也很乐意可让人人不用藉由一些高贵的流量统计程序就可以做到相似
的效果,实在流量统计的体例有良多种,假如你只想针对某一个网页作统计,那末友原因事的流量统计程序算是一个蛮不错的
小程序,复杂又小气,假如你想对站内一切的网页作流量统计,但你只想记录网页扫瞄总数,那你能够参考本站做法,利用
Response.Redirect(从头导向的体例来处置),从头导向的体例很复杂,起首你必需在数据库创建一个索引字段(ID),然后还
有一个字段贮存网页的超等链接地点(URL),再加上一个贮存点选次数的字段Hits,接着使用一个从头导向的小程序
Redirect.asp将参数值传送进来Redirect.asp?ID=15,而Redirect.asp会将吸收到的ID值到数据库举行比对,将比对到的资
料列其Hits字段值加一接着再导向到URL字段所贮存的网址,这是一种对照复杂的做法,不外条件是你必需将一切网页的材料
全体建进数据库,现在天要先容的办法其实不必要将一切网页的材料写进数据库,你只需将网页称号和日期字段建进数据库即
可。
数据库表格及字段称号界说以下:
HITS
网页笔墨
1号数字
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号数字
档案包括有三个档案,一个是实行流量统计的Hits.asp,一个是记录日记文件是不是已寄给
网站办理者的笔墨考证档案Mailed.txt,最初就是记录流量统计的日记档案Hits.Log:程序流程部分以下如所示
我们如今就来看看Hits.asp
Hits.asp
<%指定命据库路径
Dimstats
stats="DRIVER={MicrosoftAccessDriver(*.mdb)};DBQ="&Server.MapPath("/asp/state/stats.mdb")
&";DefaultDir="&Server.MapPath("/asp/state")&";DriverId=25;FILE=MS
Access;MaxBufferSize=512;PageTimeout=5"%>
<html>
<head>
<title>流量统计表</title>
</head>
<bodytext="#000000"bgcolor="#FFFFFF">
<!--#INCLUDEFILE="adovbs.inc"-->
<%
DimtodaysDate
将网页称号以Session变量代替
将今朝日期传给todaysDate变量
session("Page")="1"
todaysDate=day(now())
********************************************
假如明天是1号的话,就将记录日记文件是不是已寄给网站
办理者的笔墨考证档案以内容读出,并传给Mailed变量
********************************************
iftodaysDate="1"then
DimobjFSO,objTextFile
SetobjFSO=CreateObject("Scripting.FileSystemObject")
SetobjTextFile=objFSO.OpenTextFile("C:inetpubwwwrootaspstate
Mailed.txt")
DoWhileNotobjTextFile.AtEndOfStream
Mailed=objTextFile.ReadLine
Loop
objTextFile.Close
SetobjTextFile=Nothing
SetobjFSO=Nothing
假如日记文件还没寄出
IfMailed="0"then
DimobjRec
DimobjConn
DimtxtSubject
创建数据库保持并开启数据库
SetobjConn=Server.CreateObject("ADODB.Connection")
SetobjRec=Server.CreateObject("ADODB.Recordset")
objConn.Openstats
MySQL="Select*FromStats"
objRec.OpenMySQL,objConn,adOpenKeyset,adLockReadOnly
呼唤Email子程序,将日记文件内容传给txtSubject变量
txtSubject=Email(objRec)
呼唤LogFile子程序,将日记文件内容写进日记文件
LogFile(txtSubject)
呼唤EmailTo子程序,将日记文件内容寄给网站办理者
EmailTo(txtSubject)
呼唤dBaseClear子程序,将数据库内容全体回零
dBaseClear()
**************************************
Email子程序
**************************************
FunctionEmail(objRec)
DimstrT
Dimtotal
DimfldF
将总数回0
total=0
intFields=objRec.Fields.Count-1
WhilenotObjRec.Eof
ForEachfldinObjRec.Fields
IfNotfld.Name="ID"Then
除ID字段以外,将别的字段称号、字段值依序列出
fld.Name(字段称号),fld.Value(字段值)
并将月份加在字段称号和字段值之前然后传给strt变量
strT=strT&MonthName(month(date()))&""&fld.Name&_
":"&fld.Value&VbCrLf
盘算总点选次数,并传给Total变量
total=total+fld.Value
Endif
Next
strT=VbCrLf&strT&VbCrLf
asp,你就只能等着微软给你解决,它不乐意你就只好悲催。而且asp跑在windows服务器上,windows服务器跟linux比起来简直弱爆了! |
|