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
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
|
<?php /* @ PHP 在线人数统计程序 Copyright (c) by Pader 1:25 2009年1月7日 How to use it: <script src="online.php"></script> note: 一般独立在线人数统计程序都是统计在线的IP数,而这并不准确 例如局域网的访问者,比如公司,学校机房和网吧,虽然内网IP不同,但是外网IP都是一样 如果同一个局域网的无论多少人人访问你的网站则只被认为是一个人 这个小巧的程序解决了此问题,它以电脑为单为,每台电脑便算一个访问者 当然因为使用的是COOKIE,如果你在同一台电脑上使用两种不同核心的浏览器访问那就别当别论了 */ $filename = 'online.txt' ; //数据文件,如果没有新建 $cookiename = 'VGOTCN_OnLineCount' ; //cookie名称 $onlinetime = 600; //在线有效时间,单位:秒 (即600等于10分钟) @ $online = file( $filename ); //数据文件,如果没有新建 $nowtime = time(); $nowonline = array (); /* @ 得到仍然有效的数据 */ if (! empty ( $online )){ foreach ( $online as $line ) { $row = explode ( '|' , $line ); $sesstime = trim( $row [1]); if (( $nowtime - $sesstime ) <= $onlinetime ) { //如果仍在有效时间内,则数据继续保存,否则被放弃不再统计 $nowonline [ $row [0]] = $sesstime ; //获取在线列表到数组,会话ID为键名,最后通信时间为键值 } } } /* @ 创建访问者通信状态 使用cookie通信 COOKIE 将在关闭浏览器时失效,但如果不关闭浏览器,此 COOKIE 将一直有效,直到程序设置的在线时间超时 */ if (isset( $_COOKIE [ $cookiename ])) { //如果有COOKIE即并非初次访问则不添加人数并更新通信时间 $uid = $_COOKIE [ $cookiename ]; } else { //如果没有COOKIE即是初次访问 $vid = 0; //初始化访问者ID do { //给用户一个新ID $vid ++; $uid = 'U' . $vid ; } while ( array_key_exists ( $uid , $nowonline )); setcookie( $cookiename , $uid ); } $nowonline [ $uid ] = $nowtime ; //更新现在的时间状态 /* @ 统计现在在线人数 */ $total_online = count ( $nowonline ); /* @ 写入数据 */ if ( $fp = @ fopen ( $filename , 'w' )) { if ( flock ( $fp ,LOCK_EX)) { rewind ( $fp ); foreach ( $nowonline as $fuid => $ftime ) { $fline = $fuid . '|' . $ftime . "\n" ; @ fputs ( $fp , $fline ); } flock ( $fp ,LOCK_UN); fclose( $fp ); |
php使用Session和文件统计在线人数
2020-10-30 23:55PHP教程网 PHP教程
这篇文章主要介绍了php使用Session和文件统计在线人数,本文直接给出实例代码,需要的朋友可以参考下
延伸 · 阅读
- 2022-03-10简单谈谈centos7中配置php
- 2022-03-08redis实现分布式session的解决方案
- 2022-03-08Flask 入门系列 Cookie与session的介绍
- 2022-03-06Ubuntu14.04服务器环境下配置PHP7.0+Apache2+Mysql5.7的方
- 2022-03-05centos yum php 7.x 无需删除升级的方法
- 2022-03-05Centos7下PHP安装gd库的实例讲解
- PHP教程
PHP里8个鲜为人知的安全函数分析
这篇文章主要介绍了PHP里8个鲜为人知的安全函数,较为详细的分析了addslashes、htmlentities、htmlspecialchars及md5等函数在PHP程序设计安全中所起到重要作用,非常...
- PHP教程
PHP基于php_imagick_st-Q8.dll实现JPG合成GIF图片的方法
这篇文章主要介绍了PHP基于php_imagick_st-Q8.dll实现JPG合成GIF图片的方法,需要的朋友可以参考下 ...
- PHP教程
eclipse php wamp配置教程
这篇文章主要为大家详细介绍了eclipse php wamp配置教程,极其简单的php入门教程,感兴趣的小伙伴们可以参考一下...
- PHP教程
PHP之使用swoole统计在线人数和ID案例讲解
这篇文章主要介绍了PHP之使用swoole统计在线人数和ID案例讲解,本篇文章通过简要的案例,讲解了该项技术的了解与使用,以下就是详细内容,需要的朋友可以参...
- PHP教程
php 数组元素快速去重
本篇文章主要介绍了php数组元素快速去重的方法,具有很好的参考价值。下面跟着小编一起来看下吧...
- PHP教程
PHP设计模式之迭代器模式Iterator实例分析【对象行为型】
这篇文章主要介绍了PHP设计模式之迭代器模式Iterator,结合实例形式分析了PHP迭代器模式Iterator相关概念、原理、实现方法与操作注意事项,需要的朋友可以参...
- PHP教程
PHP中使用匿名函数操作数据库的例子
这篇文章主要介绍了PHP中使用匿名函数操作数据库的例子,本文直接给出类的代码、使用例子、继承例子,需要的朋友可以参考下...
- PHP教程
Laravel框架使用Redis的方法详解
这篇文章主要介绍了Laravel框架使用Redis的方法,结合实例形式较为详细的分析了Laravel框架中Redis数据库配置、使用方法及相关操作注意事项,需要的朋友可以...