Colorful Life2010

ColdFusion在线人数统计
Weather:晴,北风4-5级,最高气温25 ℃
<cfif NOT IsDefined("Application.online")>
      <cfset Application.online=ArrayNew(1)>
</cfif>
<cfscript>
      trace = false;//调试信息
      outtime = 20;//保存时间(分种)
      online_guests = 0;//过路人数
      online_members = 0;//注册人数
      online_total= 0;//总人数
      //********当前浏览者信息********//
      struct = StructNew();
      struct.CFID = Cookie.CFID;
      struct.CFTOKEN = Cookie.CFTOKEN;
      struct.TIME = now();
      struct.IP = #CGI.REMOTE_HOST#;
      if (IsDefined("session.users_id")){
            struct.USER_ID = session.users_id;
            struct.LEVEL = 1;
      }else{
            struct.USER_ID = 0;
            struct.LEVEL = 0;
      }
      //****************************//
      ISIN = "no";//查找是否存在的标志
      //删除超时的
      for (i=ArrayLen(Application.online);i GTE 1;i=i-1){
            if (DateDiff("n",Application.online[i].TIME,now()) GTE outtime){
                  ArrayDeleteAt(Application.online,i);
            }
      }
      //更新时间和计算人数
      for (i=1;i LTE ArrayLen(Application.online);i=i+1){
            if (Application.online[i].CFID IS struct.CFID AND ISIN IS "no"){
                  ISIN = "yes";
                  Application.online[i] = struct;
            }
            if (Application.online[i].LEVEL IS 1){
                  online_members=online_members+1;
            }else{
                  online_guests=online_guests+1;
            }
      }
      //新的浏览者加入
      if (ISIN IS "no"){
            ArrayAppend(Application.online,struct);
            if (struct.LEVEL IS 1){
                  online_members=online_members+1;
            }else{
                  online_guests=online_guests+1;
            }
      }
      online_total = ArrayLen(Application.online);
</cfscript>
<cfif trace IS true>
      <cfdump var="#Application.online#">
</cfif>

只要在Application.cfm页中include本页面就可以了
转自:http://www.show-studio.net/weblog/comment.cfm?id=63
历史上的今天: [2009/09/14]COBOL数组操作
[2009/09/14]COBOL文件操作
[2009/09/14]COBOL数据类型
[2007/09/14]MEncoder的基础用法
[2007/09/14]H.264介绍
[2006/09/14]更新的BLOG功能,打算开放源代码

[ColdFusion在线人数统计]的回复

Post a Comment~