ホームページ >バックエンド開発 >PHPチュートリアル >PHP はオンラインの人数、今日の訪問者数、合計訪問者数をカウントします。

PHP はオンラインの人数、今日の訪問者数、合計訪問者数をカウントします。

WBOY
WBOYオリジナル
2016-06-20 13:03:282360ブラウズ

コードは次のとおりです:

<?php </p>header('Content-type: text/html; charset=utf-8');<br />$online_log = "count.dat"; //保存人数的文件,<br />$timeout = 30;//30秒内没动作者,认为掉线<br />$entries = file($online_log);<br /><br />$temp = array();<br /><br />for ($i=0;$i<count($entries);$i++) {<br />$entry = explode(",",trim($entries[$i]));<br />if (($entry[0] != $_SERVER["REMOTE_ADDR"]) && ($entry[1] > time())) {<br />array_push($temp,$entry[0].",".$entry[1]."\n"); //取出其他浏览者的信息,并去掉超时者,保存进$temp<br />}<br />}<br /><br />array_push($temp,$_SERVER["REMOTE_ADDR"].",".(time() + ($timeout))."\n"); //更新浏览者的时间<br />$users_online = count($temp); //计算在线人数<br /><br />$entries = implode("",$temp);<br />//写入文件<br />$fp = fopen($online_log,"w");<br />flock($fp,LOCK_EX); //flock() 不能在NFS以及其他的一些网络文件系统中正常工作<br />fputs($fp,$entries);<br />flock($fp,LOCK_UN);<br />fclose($fp);<br /><p>echo "当前在线".$users_online."人";</p><p>?></p>


声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。