欢迎光临
我们一直在努力

PHP网站在线人数统计,高性能,高并发,0文件,0数据库

PHP网站在线人数统计,高性能,高并发,0文件,0数据库

* 作者:小伟,QQ523077333,QQ群34544417
* 网址:www.tjit.net 接口互联:api88.net
* 转载请注明来源,谢谢。
可稍微修改为输出js,在网站底部调用显示在线人数!此文件在网站核心文件中引用即可。比如WordPress网站在根目录index.php头部引用即可。

网址后面添加参数 ?type=number 输出json格式的总人数。
网址后面添加参数 ?type=json 输出json格式的在线IP列表和有效时长。

源代码

<?php
/**
* 网站在线人数统计,0文件,0数据库,支持高并发,高效率。
* 作者:小伟,QQ523077333,QQ群34544417
* 网址:www.tjit.net 接口互联:api88.net
* 转载请注明来源,谢谢。
* 可稍微修改为输出js,在网站底部调用显示在线人数!此文件在网站核心文件中引用即可。比如WordPress网站在根目录index.php头部引用即可。
*/
ini_set("display_errors", "Off");
error_reporting(E_ALL ^ E_NOTICE ^ E_WARNING);
extension_loaded('memcached') or die('memcached扩展未安装!');
header('Access-Control-Allow-Origin:*');
header('Access-Control-Allow-Methods:GET,POST');
header('Access-Control-Allow-Headers:Origin, X-Requested-With, Content-Type, Accept');

$onlinetime = 600; //在线有效时间(秒)
$ip = $_SERVER['HTTP_X_FORWARDED_FOR'] ? $_SERVER['HTTP_X_FORWARDED_FOR'] : $_SERVER['REMOTE_ADDR'];
$mem = new Memcached();
$mem->addServer('127.0.0.1', '11211') or die('memcached连接失败!');
$line_user_list = $mem->get('on_line_user_list');
$line_user_list[$ip] = time();
foreach ($line_user_list as $lineuserip => $linetime) {
$outusertime[$lineuserip] = time()-$linetime;
if (time()-$linetime >= $onlinetime) {
unset($line_user_list[$lineuserip]);
} else {
$body .= $lineuserip.' => 剩余失效时间: '.($onlinetime-(time()-$linetime)).' 秒</br>';
}

}
$mem->set('on_line_user_list', $line_user_list, 0);
if ($_GET['type'] == 'number') {
echo json_encode(['value' => count($line_user_list)]);
exit;
}
if ($_GET['type'] == 'json') {
echo json_encode(['line_user_list' => $line_user_list, 'line_out_time' => $outusertime]);
exit;
}
?>
<h1>当前在线人数:<?php echo count($line_user_list); ?> 人</h1>访客刷新页面后重新计时!
<h2>在线列表:</h2>
<?php echo $body; ?>
赞(2) 打赏
未经允许不得转载:同济互联 » PHP网站在线人数统计,高性能,高并发,0文件,0数据库
分享到: 更多 (0)

评论 抢沙发

  • 昵称 (必填)
  • 邮箱 (必填)
  • 网址

同济互联 建站更专业 更方便

网站建设联系我们

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

微信扫一扫打赏