PHP实现网站访问量计数器 两种方法

1、原生

简单的网站访问量计数器实现,具体如下
首先说明思路:
1.用户向服务器发出访问请求
2.服务器读取访问次数文件,+1,向客户端返回
3.服务器保存新的浏览次数
4.新用户访问,重复123即可
解决方案(主要算法):
1.数据文件:counter.dat
2.读出数据文件
打开文件;
如果不存在,创建,并以0为初识数据;
否则,读出数据;
关闭文件。
3.把累加后的数据写入文件counter.dat
累加数据;
打开文件;
写入数据;
关闭文件;
4.向网页输出信息;
建立Count_Visitor文件夹。
在Count_Visitor文件夹中,创建Count_Visitor.php文件,并键入以下代码:

<html>
<head>
 <meta charset="UTF-8">
 <title>浏览计数器-ljccccccccccc@163.com</title>
</head>
<body>
 <?php
  //数字输出网页计数器
  $max_len = 9;
  $CounterFile = "counter.dat";
  if(!file_exists($CounterFile)){  //如果计数器文件不存在
   $counter = 0;    
   $cf = fopen($CounterFile,"w"); //打开文件
   fputs($cf,'0');     //初始化计数器
   fclose($cf);     //关闭文件
  }
  else{          //取回当前计数器的值
   $cf = fopen($CounterFile,"r");
   $counter = trim(fgets($cf,$max_len));
   fclose($cf);
  }
  $counter++;         //计数器加一
  $cf = fopen($CounterFile,"w");    //写入新的数据
  fputs($cf,$counter);
  fclose($cf);
 ?>
 <div id="dd" align="center">
  <span>欢迎您!</span>
  <span>您是本站的第
   <?php
    echo $counter;       //输出计数器
   ?>
  位访客!</span>
 </div>
 
</body>
</html>

如果有需要可以自己键入css文件装饰.
代码中包含的变量及其含义

$max_len : 自定义变量。计数器的最大位数;
$CounterFile : 自定义变量。计数器存放的文件(路径和文件名);
$counter : 自定义变量。计数器的值;
$cf : 自定义变量。打开计数文件的句柄;
代码中包含的函数与含义
file_exists($CounterFile) : 判断文件是否存在;
fopen($CounterFile,”w”) : 以写入方式打开文件。(函数自带属性,如果不存在则创建)
fopen($CounterFile,'r') : 以只读方式代开文件。
fgets($cf,$max_len) : 从文件中读出指定长度的字符
fputs($cf,”0”) : 把字符“0”写入$cf
fclose($cf) : 关闭$cf打开的文件
trim(fgets($cf,$max_len)) : 去除 取出字符串的 两边的空格符

2、使用thinkPHP框架封装好的方法,为字段点击一次增加一次计算

setField 方法返回影响数据的条数,没修改任何数据字段返回 0

自增或自减一个字段的值
setInc/setDec 如不加第二个参数,默认值为1

// score 字段加 1
Db::table('think_user')->where('id', 1)->setInc('score');
// score 字段加 5
Db::table('think_user')->where('id', 1)->setInc('score', 5);
// score 字段减 1
Db::table('think_user')->where('id', 1)->setDec('score');
// score 字段减 5
Db::table('think_user')->where('id', 1)->setDec('score', 5);

每访问一次增加1

Db::name('表名')->where('id','=',$id)->setInc('记录访问量的字段名');
展开阅读全文

没有更多推荐了,返回首页