上篇日志是关于,如何在客户端实现用cookie保存个人用户访问网站的次数的。这篇日志是讲,在服务器端统计访问网站的总人数。

实现方法有两种:1、当用户访问网站时,记录用户的ip,存入到数据库中,然后用一条select语句计算出所有ip的记录数,这样就能算出网站的总访问人数了。但这样做的缺点是:如果访问网站的人数较多的话,那数据库中的ip地址记录也就很多了,用select语句的话,运行效率低。

2、把网站总访问人数存储在一个文件里,用户访问网站时,则从文件里取出数据,加1,然后再重新写入文件。

现在我就用第二种方法来实现服务器端统计访问网站总人数。

Code:

/*

php实现后台统计网站总访问人数,并存储在txt文件中

1.判断存储访问人数的文件是否存在,若不存在,则创建文件

2.若存储网站总访问人数的文件已存在,则再判断客户端是否是刷新操作

3.若客户端不是刷新操作,则从文件中读取数据,将数据大小加1,并重新写入文件中

*/

header( 'Content-Type:text/html;charset=utf-8 ');

$count_file="count_num.txt";

if(file_exists($count_file)){ //判断存储访问人数的txt文件是否存在,若存在,则执行下面操作

if(isset($_COOKIE['visit_jorbe_time'])){ //判断cookie:'visit_jorbe_time'是否存在,若存在,则执行下面操作

setcookie("visit_jorbe_time",time()); //设置cookie,当关闭浏览器时失效

$fp0=@fopen($count_file, "r"); //设置打开文件模式为只读取数据,不能写入数据

$count_num=fgets($fp0,6); //从文件中读取前5位数字

echo "共有"."$count_num"."位访客访问本站。";

fclose($fp0); //关闭文件

}else{

setcookie("visit_jorbe_time",time());

$fp=@fopen($count_file, "r");

$count_num=fgets($fp,6);

$count_num+=1; //访问人数加1

$fp1=@fopen($count_file, "w"); //设置打开文件模式为可写入数据

fwrite($fp1, $count_num); //将访问人数写入文件

echo "共有"."$count_num"."位访客访问本站。";

fclose($fp1);

}

exit();

}else{

$fp3=fopen("count_num.txt", "w"); //fopen函数的第二个参数为“w"时,如果文件不存在,将自动生成文件

$count_num1=1;

fwrite($fp3, $count_num1);

echo "只有一人访问过本站";

fclose($fp3);

exit();

}

?>

注意事项:不要在setcookie函数之前有任何html输出,所以不要在代码开头用

echo "";

来设置编码格式。还有就是在打开文件时,读取数据和写入数据要分别fopen(string $filename,string mode)下,奇怪的是,我看官方文档里说只要把mode设置成"r+"就既能读取也能写入文件了,可事实却不是这样的。当我把fopen的mode设置成"r+"时,写入数据的时候就出错了。不知道是什么原因???

Tagged on: php

发表评论

电子邮件地址不会被公开。 必填项已用*标注

姓名 *

电子邮件 *

站点

评论

您可以使用这些HTML标签和属性:

php实现服务器访问统计,服务器端统计网站总访问人数相关推荐

  1. qq浏览器网站禁止访问怎么办 qq浏览器网站禁止访问如何解决

    打开手机的QQ浏览器说访问网页被禁止,是设置错误造成的,解决方法如下: 1.首先在手机屏幕上左右滑动,找到安装好的QQ浏览器的图标. <a style=qq浏览器网站禁止访问怎么办 qq浏览器网 ...

  2. 解决开启防火墙后,服务器不能ping通,网站不能访问的问题

    1.解决能ping通的设置 控制面板 - Windows防火墙 - 高级设置-入站规则 然后右键启用这个选项就可以了 2.解决网站不能访问的设置 控制面板 - Windows防火墙 - 高级设置,点击 ...

  3. 使用cat,awk和sort命令从nginx访问日志中统计user-agent类型

    业务场景描述如下: 我有一个Nginx的web服务器,需要从统计日志中统计有哪些类型的设备终端和浏览器访问了我的网站. 访问日志中的每条记录是这样的: 使用下面的命令得到user-agent所在的字段 ...

  4. 谈谈利用统计工具做好网站数据分析

    一数据统计: 1.流量统计是基础的数据统计 网站的工具可以让我们了解基本流量信息,包括独立访问者.访问停留时间.页面停留时间.访问率等;实时了解网站的变化趋势,了解有效覆盖人群的规模,了解推广的目标人 ...

  5. 网站服务器日志分析,如何进行网站日志分析(理论篇)

    搜索引擎通过蜘蛛爬行抓取网页,通过分析网站日志,可以了解蜘蛛在网站中的抓取规律,以及网站在结构.收录.内容更新等方面存在的不足. 在进行日志分析时,一个可以事半功倍的工具是必不可少的,例如光年日志分析 ...

  6. 个别网站无法访问,能ping通

    最近一直在跟两个网站较劲,公司局域内的电脑都无法访问这两个网站,访问其他网站没有问题: 1.除这两个网站访问有问题,一般网站访问没有任何问题,这个应该可以排除DNS问题 2.可以ping通这两个网站的 ...

  7. 网站在服务器上统计流量 软件,用性能计数器统计你的网站流量

    需求提出 建立了博客或网站,需要对访问量做统计.借助网站统计系统,可以很好的满足到访统计的需求.而有时,我们也需要对网站的网络流量进行统计.网络流量就是 网络上传输的数据量.比如想换国外的主机,但一般 ...

  8. JavaWeb程序设计任务教程(黑马程序员 传智播客)测一测 编写一个Servlet,实现统计网站被访问次数的功能

    详细解释已在注释中给出 package 统计网站被访问次数;import java.io.*;import javax.servlet.*; import javax.servlet.http.*;p ...

  9. 最新Matomo网站访问统计流量统计系统源码V3.13.1

    正文: matomo网站统计系统(之前叫Piwik)是一套基于PHP5+MySQL技术构建的开源网站访问统计系统,前身是phpMyVisites.Piwik可以给你详细的统计信息,比如网页浏览人数,访 ...

最新文章

  1. 微服务生态与 Spring Cloud Alibaba
  2. boost::graph模块实现使用不相交的集合数据结构计算无向变化的连通分量图形的测试程序
  3. Android的四大组件
  4. python当用户输入的不是整数_当用户输入字符串而不是整数时,如何保护我的python代码?...
  5. Eigen 矩阵计算工具
  6. 铺铜需要把agnd和dgnd分开_AGND和DGND的秘密——混合信号器件的接地原则
  7. 数据库SQL语句解析
  8. Angucomplete —— AngularJS 自动完成输入框
  9. NTKO控件安装:“不能装载文档控件,请在检查浏览器的选项中检查浏览器的安全设置”问题
  10. IP防护等级标准及规定
  11. 泛函分析复习笔记(二)线性算子与线性泛函
  12. MST703调试群创AT070TN92
  13. LANP+KEEPALIVED集群(三)
  14. 不要在意别人的目光,走自己的路
  15. 井字棋(棋子可消去(拿走))
  16. DNS-over-HTTPS(DoH)简析与配置
  17. 程序设计大作业---超长正整数的减法
  18. 油漆算法问题_不同类型的油漆(以及何时使用它们)
  19. 周期循环图像边界算法
  20. 关于protues 中提示“can not open C.................LISA3199.SDF”的问题的解决

热门文章

  1. EDK2源码下载及环境搭建
  2. 解决Linux 负载过高问题过程记录
  3. 小学生计算机辅助教学系统
  4. 胡适致毕业生:功不唐捐
  5. 在线成语接龙答题有奖微信小程序源码V1.5.1
  6. 前端学起来特别吃力,新人入前端怎么学?
  7. 木瓜移动荣获金茶奖2021年度游戏服务企业称号
  8. 普通人考出PMP到底有用吗?
  9. poj1723 SOLDIERS
  10. SAP FAGLGVTR 总账科目年末结转