欢迎光临
我们一直在努力

网站在线人数统计,0文件,0数据库,支持高并发,高效率

可稍微修改为输出js,在网站底部调用显示在线人数!此文件在网站核心文件中引用即可。比如WordPress网站在根目录index.php头部引用即可。

网址后面添加参数 ?type=number 输出json格式的总人数。

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

<?php
/**
* 网站在线人数统计,0文件,0数据库,支持高并发,高效率。
* 网址:www.zidongtouzhu.vip
* 转载请注明来源,谢谢。
* 可稍微修改为输出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; ?>

 

   

如果文章对你有帮助,欢迎点击上方按钮打赏作者

未经允许不得转载:军哥驿站 » 网站在线人数统计,0文件,0数据库,支持高并发,高效率

评论 抢沙发

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

军哥驿站 建站更专业 更方便

网站开发联系我们