热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

包含php实现统计ip数及在线人数的词条

本文目录一览:1、php怎样统计在线人数2、P

本文目录一览:


  • 1、php怎样统计在线人数


  • 2、PHP如何统计在线人数


  • 3、PHP中如何实现在线人数的统计和显示


  • 4、php 统计在线人数 根据IP判断哪个地方多少人, 也就是说,某C段的多少人。这个样子,不知道怎么写判断。


  • 5、php如何实现记录网站在线人数


  • 6、thinkphp中如何获取用户的ip地址实现网站访问人数统计的计数器

php怎样统计在线人数

php怎样统计在线人数

?php

require_once('config.php');

function counter()

{

session_start();

$sql="select counter from counter";

$result=@mysql_query($sql);

if(!empty($result))

{

$row=mysql_fetch_array($result);

$counter=++$row[counter];

if(!$_SESSION['counter'])

{

$query="update counter set counter=$counter";

$result=@mysql_query($query);

if($result)

{

$_SESSION['counter']=true;

}

}

$counter_len=strlen($counter);

for($i=0;$i$counter_len;$i++)

{

$number=substr($counter,$i,1);

if(isset($number))

{

echo "img src='image/".$number.".gif'";

}

}

}

}

?

PHP如何统计在线人数

原理:根据不同的IP统计出当前有多少人在线。

实现方式:可以用数据库,也可以用文本。

我这里用了文本实现。

$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 ) . "人在线";

PHP中如何实现在线人数的统计和显示

要使用数据库,建立一个表,比如名字是online,至少有以下列:

name_ip 存放登录用户名,未登录的存放IP,char类型

url 存放每个页面的地址,char类型

last_time 存放刷新页面的最后时间,int类型

表的主键是:name_ip+url

每个页面一开始就要刷新这个表,使用的SQL是:

$name_ip='用户名或者IP';//你能搞定

$url=$_SERVER["PHP_SELF"];

$time=time();

$sql="replace delayed into online (name_ip,url,last_time) values ('$name_ip','$url',$time)";

mysql_query($sql);

获取某页面在线人数的查询是语句

$limit=time()-10*60;//10分钟内访问的认为在线,10分钟*60秒/分钟

$sql="select count(*) from online where url='$url' and last_time=$limit";

$res=mysql_query($sql);

list($online_count)=mysql_fetch_row($res);

mysql_free_result($res);

echo "本页面在线人数: $online_count";

php 统计在线人数 根据IP判断哪个地方多少人, 也就是说,某C段的多少人。这个样子,不知道怎么写判断。

$on = array(0=array('uid'=222,'ip'='22.121.11.22'),...);

$ip_part= array(-2323,22323,1231232,1231231231,123123123123,12312332131);//ip段的小大顺序排列

$ip_part_count = array();

foreach($on as $k=$v){

$on[$k]['ip'] = ip2long($v['ip']);

for($i=0;$icount($ip_part);$i++)

if($on[$k]['ip'] = $ip_part[$i] and $on[$k]['ip'] $ip_part[$i+1]){

if(isset($ip_part_count[$i])){

$ip_part_count[$i]++;

}

else{

$ip_part_count[$i] = 1;

}

}

}

}

这里写代码容易出错,不供测试,仅供参考

php如何实现记录网站在线人数

这个方法是我重网上找的,你可以看看:

主要原理:把每个访客的session ID 作为文件名,生成一个空白文件在指定的文件夹。如果检查到这份文件的生成时间已经超过了指定的时间,即删除。那么,统计文件的数量可以得到在线人数。

如果的代码放在一份独立的文件,网站所有页面的都引用这份代码。即访客每浏览一次页面都会调用一次此代码。

?php

ob_start();

session_start();

$num=0;

$dirpt = "online"; // 必须先建立一个online文件夹,存在下面要生成的文件

$reftime = 1;

if (is_dir($dirpt) $dir = opendir($dirpt)) {

while (($file = readdir($dir)) !== false) {

if(strcmp($file,"..")==0 || strcmp($file,".")==0){

continue;

}

$D_[date("Y-m-d H:i:s",filemtime($dirpt."/".$file))]=$file;

$num++;

unset($cum);

}

closedir($dir);

$filename = session_id();

$fp = fopen($dirpt."/".$filename,"w");

fputs($fp,"");

fclose($fp);

$ntime = date("Y-m-d H:i:s",mktime(date("H"),date("i")-1,0,date("m"),date("d"),date("Y")));

$D_[$ntime]="-";

krsort($D_);

$Onlinenumber=0;

while(1){

$vkey=key($D_);

$onlinenumber++;

if(strcmp($ntime,$vkey)==0){

break;

}else{

array_shift($D_);

}

}

array_shift($D_);

reset($D_);

while(count($D_)0){

$ckey=key($D_);

unlink($dirpt."/".$D_[$ckey]);

if(!next($D_)){

break;

}

}

}else{

@chmod("..",0777);

@mkdir($dirpt,0777);

}

$Online=$onlinenumber-1;

$retime=60*$reftime;

echo "当前在线".$online."人,";

echo $retime;

ob_end_flush();

?

thinkphp中如何获取用户的ip地址实现网站访问人数统计的计数器

thinkphp默认封装了获取ip方法:get_client_ip()

统计人数这个我也建议用cnzz,很方便,你想看的数据基本都能满足。


推荐阅读
  • Maven + Spring + MyBatis + MySQL 环境搭建与实例解析
    本文详细介绍如何使用MySQL数据库进行环境搭建,包括创建数据库表并插入示例数据。随后,逐步指导如何配置Maven项目,整合Spring框架与MyBatis,实现高效的数据访问。 ... [详细]
  • Asynchronous JavaScript and XML (AJAX) 的流行很大程度上得益于 Google 在其产品如 Google Suggest 和 Google Maps 中的应用。本文将深入探讨 AJAX 在 .NET 环境下的工作原理及其实现方法。 ... [详细]
  • Hibernate全自动全映射ORM框架,旨在消除sql,是一个持久层的ORM框架1)、基础概念DAO(DataAccessorOb ... [详细]
  • 在测试软件或进行系统维护时,有时会遇到电脑蓝屏的情况,即便使用了沙盒环境也无法完全避免。本文将详细介绍常见的蓝屏错误代码及其解决方案,帮助用户快速定位并解决问题。 ... [详细]
  • 本文探讨了如何在PHP与MySQL环境中实现高效的分页查询,包括基本的分页实现、性能优化技巧以及高级的分页策略。 ... [详细]
  • 本文详细介绍了如何在Oracle VM VirtualBox中实现主机与虚拟机之间的数据交换,包括安装Guest Additions增强功能,以及如何利用这些功能进行文件传输、屏幕调整等操作。 ... [详细]
  • PHP面试题精选及答案解析
    本文精选了新浪PHP笔试题及最新的PHP面试题,并提供了详细的答案解析,帮助求职者更好地准备PHP相关的面试。 ... [详细]
  • 深入解析Unity3D游戏开发中的音频播放技术
    在游戏开发中,音频播放是提升玩家沉浸感的关键因素之一。本文将探讨如何在Unity3D中高效地管理和播放不同类型的游戏音频,包括背景音乐和效果音效,并介绍实现这些功能的具体步骤。 ... [详细]
  • 尽管在WPF中工作了一段时间,但在菜单控件的样式设置上遇到了一些基础问题,特别是关于如何正确配置前景色和背景色。 ... [详细]
  • ASP.NET 进度条实现详解
    本文介绍了如何在ASP.NET中使用HTML和JavaScript创建一个动态更新的进度条,并通过Default.aspx页面进行展示。 ... [详细]
  • MITM(中间人攻击)原理及防范初探(二)
    上一篇文章MITM(中间人攻击)原理及防范初探(一)给大家介绍了利用ettercap进行arp欺骗及劫持明文口令,后来我发现好友rootoorotor的文章介绍比我写的更透彻,所以基础利用大家可以参看 ... [详细]
  • 本文探讨了如何利用RxJS库在AngularJS应用中实现对用户单击和拖动操作的精确区分,特别是在调整区域大小的场景下。 ... [详细]
  • 本文详细介绍了 `org.apache.tinkerpop.gremlin.structure.VertexProperty` 类中的 `key()` 方法,并提供了多个实际应用的代码示例。通过这些示例,读者可以更好地理解该方法在图数据库操作中的具体用途。 ... [详细]
  • 利用 Calcurse 在 Linux 终端高效管理日程与任务
    对于喜爱使用 Linux 终端进行日常操作的系统管理员来说,Calcurse 提供了一种强大的方式来管理日程安排、待办事项及会议。本文将详细介绍如何在 Linux 上安装和使用 Calcurse,帮助用户更有效地组织工作。 ... [详细]
  • Beetl是一款先进的Java模板引擎,以其丰富的功能、直观的语法、卓越的性能和易于维护的特点著称。它不仅适用于高响应需求的大型网站,也适合功能复杂的CMS管理系统,提供了一种全新的模板开发体验。 ... [详细]
author-avatar
pet宠物情缘
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有