php實現當前用戶在線人數
原理:根據不同的IP統計出當前有多少人在線。實現方式:可以用數據庫,也可以用文本。我這里用了文本實現。<?php/***@ Date 2010.04.07*@ Author;;;;華夏之星 PHP100.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)."人在線"?>
相關文章: