php访问人数,php如何限制每人每天访问次数

本文目录一览:

怎么用php写个在线访问人数统计

你所说的“其中一个人关闭了网站”是一个很明显的错误,网站的来访者所关闭的不是“网站”,只是他自己的浏览器。

从 Web 服务的机制上来说,服务器只是接收到对某个网页的请求后把相应的 HTML 格式的内容(可能包括 JavaScript程序)发送给请求者以后就关闭连接,至于浏览器端的用户是什么时候关闭浏览器(或者说是转移去查看别的网站的网页去了)服务器端是得不到任何信息的。

PHP、ASP、JSP 之类的网页访问只是服务器在发送 HTML 格式的内容之前需要先执行一下相应的文件里的程序,得到 HTML 格式的内容之后再发送而已,原理上还是发送完就关闭与请求者的连接。

服务器能得到的信息是接收来访者发来的网页请求信息的时候随同而来的IP地址,至于这个IP地址对应的用户什么时候跳转去看别的网站的网页去了服务器得不到任何信息。在你的 PHP 程序中,可以把得到一个来访者的IP地址的时候就给作为一个累加器用的跨网页文件跨不同来访者共享的变量添加1,20分钟之内没再接收到那个IP地址发来的请求就将累加器减1,这样,你把那个累加器内容显示出来就能反映你的网站在最近20分钟内有多少个IP来访问过,这个数就近似地反映了你的网站“在线人数”。

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统计出当前有多少人在线。

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

我这里用了文本实现。

$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怎么实现呢

if(isset($_COOKIE[‘online_users’]))

{

$online_users = $_COOKIE[‘online_users’];

}else{

$online_users = rand(500,1000);

setcookie(‘online_users’,$online_users,time()+300);

}

echo $online_users;

这个需求用cookie其实很好处理,然后五分钟改变一次就完了

原创文章,作者:小蓝,如若转载,请注明出处:https://www.506064.com/n/182174.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
小蓝小蓝
上一篇 2024-11-24 06:19
下一篇 2024-11-24 06:19

相关推荐

  • PHP和Python哪个好找工作?

    PHP和Python都是非常流行的编程语言,它们被广泛应用于不同领域的开发中。但是,在考虑择业方向的时候,很多人都会有一个问题:PHP和Python哪个好找工作?这篇文章将从多个方…

    编程 2025-04-29
  • Python如何减少相同请求次数

    Python作为一种灵活的语言,经常用于处理网络请求。但相同的请求被重复发出会导致一些问题,因此本文将介绍如何使用Python减少相同请求次数。 一、使用缓存 在应用程序中使用缓存…

    编程 2025-04-29
  • Python代码实现回文数最少操作次数

    本文将介绍如何使用Python解决一道经典的回文数问题:给定一个数n,按照一定规则对它进行若干次操作,使得n成为回文数,求最少的操作次数。 一、问题分析 首先,我们需要了解回文数的…

    编程 2025-04-29
  • PHP怎么接币

    想要在自己的网站或应用中接受比特币等加密货币的支付,就需要对该加密货币拥有一定的了解,并使用对应的API进行开发。本文将从多个方面详细阐述如何使用PHP接受加密货币的支付。 一、环…

    编程 2025-04-29
  • 使用PHP foreach遍历有相同属性的值

    本篇文章将介绍如何使用PHP foreach遍历具有相同属性的值,并给出相应的代码示例。 一、基础概念 在讲解如何使用PHP foreach遍历有相同属性的值之前,我们需要先了解几…

    编程 2025-04-28
  • PHP获取301跳转后的地址

    本文将为大家介绍如何使用PHP获取301跳转后的地址。301重定向是什么呢?当我们访问一个网页A,但是它已经被迁移到了另一个地址B,此时若服务器端做了301重定向,那么你的浏览器在…

    编程 2025-04-27
  • PHP登录页面代码实现

    本文将从多个方面详细阐述如何使用PHP编写一个简单的登录页面。 1. PHP登录页面基本架构 在PHP登录页面中,需要包含HTML表单,用户在表单中输入账号密码等信息,提交表单后服…

    编程 2025-04-27
  • 如何在insightface中增加次数

    insightface是一个基于深度学习的人脸识别框架,其训练的效果在很多场景下都相当出色。在使用insightface进行训练时,我们通常需要对数据进行增强或扩展,以提高模型的效…

    编程 2025-04-27
  • PHP与Python的比较

    本文将会对PHP与Python进行比较和对比分析,包括语法特性、优缺点等方面。帮助读者更好地理解和使用这两种语言。 一、语法特性 PHP语法特性: <?php // 简单的P…

    编程 2025-04-27
  • PHP版本管理工具phpenv详解

    在PHP项目开发过程中,我们可能需要用到不同版本的PHP环境来试验不同的功能或避免不同版本的兼容性问题。或者我们需要在同一台服务器上同时运行多个不同版本的PHP语言。但是每次手动安…

    编程 2025-04-24

发表回复

登录后才能评论