本文实例讲述了php简单统计在线人数的方法。分享给大家供大家参考,具体如下:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
|
<?php //首先你要有读写文件的权限 //本程序可以直接运行,第一次报错,以缶涂梢? $online_log = "count.dat" ; //保存人数的文件, $timeout = 30; //30秒内没动作者,认为掉线 $entries = file( $online_log ); $temp = array (); for ( $i =0; $i < count ( $entries ); $i ++) { $entry = explode ( "," ,trim( $entries [ $i ])); if (( $entry [0] != getenv ( 'REMOTE_ADDR' )) && ( $entry [1] > time())) { array_push ( $temp , $entry [0]. "," . $entry [1]. "\n" ); //取出其他浏览者的信息,并去掉超时者,保存进$temp } } array_push ( $temp , getenv ( 'REMOTE_ADDR' ). "," .(time() + ( $timeout )). "\n" ); //更新浏览者的时间 $users_online = count ( $temp ); //计算在线人数 $entries = implode( "" , $temp ); //写入文件 $fp = fopen ( $online_log , "w" ); flock ( $fp ,LOCK_EX); //flock() 不能在NFS以及其他的一些网络文件系统中正常工作 fputs ( $fp , $entries ); flock ( $fp ,LOCK_UN); fclose( $fp ); echo "当前有" . $users_online . "人在线" ; ?> |
使用方法:
将以上代码保存为count.php,在要用到的位置:
1
|
include ( "count.php" ); |
希望本文所述对大家PHP程序设计有所帮助。