利用文件属性结合Session实现在线人数统计

<?php
ob_start();
session_start();
$num=0;
$dirpt    =    "online";
$reftime    =    1;

if (is_dir($dirpt) && $dir = opendir($dirpt)) {
  while (($file = readdir($dir)) !== false) {
    if(strcmp($file,"..")==0 || strcmp($file,".")==0){
        continue;
    }
    $D_[date("Y-m-d H:i:s",filemtime($dirpt."/".$file))]=$file;
    $num++;
    unset($cum);
  }  
  closedir($dir);
  $filename    =    session_id();
  $fp        =    fopen($dirpt."/".$filename,"w");
  fputs($fp,"");
  fclose($fp);

$ntime    =    date("Y-m-d H:i:s",mktime(date("H"),date("i")-1,0,date("m"),date("d"),date("Y")));
  $D_[$ntime]="-";
  krsort($D_);
  $onlinenumber=0;
  while(1){
    $vkey=key($D_);
    $onlinenumber++;
    if(strcmp($ntime,$vkey)==0){
        break;
    }else{
        array_shift($D_);
    }
  }
  array_shift($D_);
  reset($D_);
  while(count($D_)>0){
    $ckey=key($D_);
    unlink($dirpt."/".$D_[$ckey]);
    if(!next($D_)){
        break;
    }
  }

}else{
    @chmod("..",0777);
    @mkdir($dirpt,0777);

}
$online=$onlinenumber-1;
$retime=60*$reftime;
echo "当前在线<strong><font color=red>$online</font></strong>人<meta http-equiv=refresh content=\"{$retime},url=\">";
ob_end_flush();
?>
<!--
   《利用文件属性结合Session进行在线人数统计》

作者:sports98
编写日期: 2003-3-19
-->

(0)

相关推荐

  • 利用文件属性结合Session实现在线人数统计

    <?phpob_start();session_start();$num=0;$dirpt    =    "online";$reftime    =    1; if (is_dir($dirpt) && $dir = opendir($dirpt)) {  while (($file = readdir($dir)) !== false) {    if(strcmp($file,"..")==0 || strcmp($file,&quo

  • 利用java监听器实现在线人数统计

    1.在工程中创建监听类SessionListener 并且实现HttpSessionListener接口,代码如下 import javax.servlet.http.HttpSessionEvent; import javax.servlet.http.HttpSessionListener; public class SessionListener implements HttpSessionListener { private static int count = 0; public vo

  • php使用Session和文件统计在线人数

    <?php /* @ PHP 在线人数统计程序 Copyright (c) by Pader 1:25 2009年1月7日 How to use it: <script src="online.php"></script> note: 一般独立在线人数统计程序都是统计在线的IP数,而这并不准确 例如局域网的访问者,比如公司,学校机房和网吧,虽然内网IP不同,但是外网IP都是一样 如果同一个局域网的无论多少人人访问你的网站则只被认为是一个人 这个小巧的程序解

  • php模仿asp Application对象在线人数统计实现方法

    本文实例讲述了php模仿asp Application对象在线人数统计实现方法.分享给大家供大家参考.具体实现方法如下: 复制代码 代码如下: /* 用法: application('key','value'); //设置 key=value $value = application('key'); //获取 key的值 */   function application() {  $args = func_get_args(); //获取输入参数  if (count($args) >2 ||

  • Javaweb实现在线人数统计代码实例

    这篇文章主要介绍了Javaweb实现在线人数统计代码实例,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下 session并不是浏览器关闭时销毁的,而是在session失效的时候销毁下列代码就是监测session创建.销毁 package com.my.count; import javax.servlet.http.*; public class SessionCounter implements HttpSessionListener { pr

  • java监听器实现在线人数统计

    本文实例为大家分享了java在线人数统计的具体代码,供大家参考,具体内容如下 1. 项目结构 2. 代码 package com; import javax.servlet.ServletContextEvent; import javax.servlet.ServletContextListener; import javax.servlet.annotation.WebListener; /** * Application Lifecycle Listener implementation

  • PHP实现利用MySQL保存session的方法

    session是PHP程序设计中服务器端用来保存用户信息的一个变量,具有非常广泛的应用价值.本文实例讲述了PHP实现利用MySQL保存session的方法.分享给大家供大家参考之用.具体步骤如下: 本文实例的实现环境为: PHP 5.4.24 MySQL 5.6.19 OS X 10.9.4/Apache 2.2.26 一.代码部分 1.SQL语句: CREATE TABLE `session` ( `skey` char(32) CHARACTER SET ascii NOT NULL, `d

  • ASP制作在线人数统计实例

    我们先新建一个ACCESS数据库 内容为 表名:zai 字段为 1.ip 2.time 建立一个文件为index.asp 然后就如下程序! <% '===================================================================================================''******************** 冰翎在线人数统计程序 V2.0 ******************************'' 本站程序由

  • 利用Mysql定时+存储过程创建临时表统计数据的过程

    1.mysql定时任务简单介绍 mysql的定时任务是使用event(事件)来实现的,自mysql5.1.6版本起,增加了这个功能 - 事件调度器(event scheduler),它可以精确到每秒钟执行一个任务,在一些对数据实时性要求比较高的场景非常使用,接下来我将用mysql的event事件来实现定时统计数据. 2.准备工作 (1)查看定时策略是否开启 show variables like '%event_sche%'; 执行结果如下 ON表示处于开启状态,如果是OFF则表示处于关闭状态,

  • php+memcache实现的网站在线人数统计代码

    今天闲来无事,想在博客统计中显示在线人数.在网上找了好多例子,不是数据库存储数据就是文件存储,代码也看起来过于复杂. 晚上回来后,构思了下,看到我服务器中安装有 Memcache 服务,何不用 Memcache 实现呢. 下面就来讲下实现过程: 效果图: 实现代码: <?php $mc = new Memcache (); // 连接memcache $mc->connect ( "127.0.0.1", 11211 ); // 获取 在线用户 IP 和 在线时间数据 $o

随机推荐