php實現目前使用者線上人數_PHP教程

來源:互聯網
上載者:User
原理:根據不同的IP統計出當前有多少人線上。
實現方式:可以用資料庫,也可以用文本。
我這裡用了文本實現。
/**
*@ 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)."人線上";
?>

http://www.bkjia.com/PHPjc/486320.htmlwww.bkjia.comtruehttp://www.bkjia.com/PHPjc/486320.htmlTechArticle原理:根據不同的IP統計出當前有多少人線上。 實現方式:可以用資料庫,也可以用文本。 我這裡用了文本實現。 ?php /** *@ Date 2010.04.07...

  • 聯繫我們

    該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

    如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

    A Free Trial That Lets You Build Big!

    Start building with 50+ products and up to 12 months usage for Elastic Compute Service

    • Sales Support

      1 on 1 presale consultation

    • After-Sales Support

      24/7 Technical Support 6 Free Tickets per Quarter Faster Response

    • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.