程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> 網頁編程 >> PHP編程 >> 關於PHP編程 >> php實現當前用戶在線人數

php實現當前用戶在線人數

編輯:關於PHP編程

原理:根據不同的IP統計出當前有多少人在線。
實現方式:可以用數據庫,也可以用文本。
我這裡用了文本實現。
<?php
/**
*@ Date         2010.04.07
*@ Author       華夏之星 bkJia.com
*@ Blog         http://hi.baidu.com/woaidelphi/blog
*/
$user_online = "count.php"; //保存人數的文件
touch($user_online);//如果沒有此文件,則創建
$timeout = 30;//30秒內沒動作者,認為掉線
$user_arr = file_get_contents($user_online);
$user_arr = explode(#,rtrim($user_arr,#));print_r($user_arr);
$temp = array();
foreach($user_arr as $value){
$user = explode(",",trim($value));
if (($user[0] != getenv(REMOTE_ADDR)) && ($user[1] > time())) {//如果不是本用戶IP並時間沒有超時則放入到數組中
array_push($temp,$user[0].",".$user[1]);
}
}
array_push($temp,getenv(REMOTE_ADDR).",".(time() + ($timeout)).#); //保存本用戶的信息
$user_arr = implode("#",$temp);
//寫入文件
$fp = fopen($user_online,"w");
flock($fp,LOCK_EX); //flock() 不能在NFS以及其他的一些網絡文件系統中正常工作
fputs($fp,$user_arr);
flock($fp,LOCK_UN);
fclose($fp);
echo "當前有".count($temp)."人在線";
?>

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved