zoukankan      html  css  js  c++  java
  • 【PHP】php+txt实现网页计数器(限IP统计方式和不限IP统计方式)

    一般的网页计数器制作实现思路:首先设定存放统计数据的文件(counter.txt)——读取文件中的内容存入字符串——自加操作——以写入方式打开文件写入数据——从文件中输出统计数据——关闭文件。

    代码:

    <?php
     $counter_fname='counter.txt';//动态获取需要统计的页面,并进行命名
     $counter=file_get_contents($counter_fname);  //将文件的内容读入到一个字符串中
     $counter+=0;
     $counter++;
      if($fp=fopen($counter_fname,'w')){
     fputs($fp,$counter);//输出统计数据

    fclose($fp);
      }
      echo "document.writeln('<input type=text value=$counter>');";
    ?>

    一、不限IP统计方式即只要刷新页面统计数就会增加

     实现思路:首先设定存放统计数据的文件(counter[i].txt)是动态获取的即可以实现多页面统计——读取文件中的内容存入字符串——自加操作——以写入方式打开文件写入数据——从文件中输出统计数据——关闭文件。

    代码:

    counter.php页面:

    <?php
     $counter_fname='counter'.$_REQUEST[id].'.txt';//动态获取需要统计的页面,并进行命名
     $counter=file_get_contents($counter_fname);
     $counter+=0;
     $counter++;
      if($fp=fopen($counter_fname,'w')){
     fputs($fp,$counter);fclose($fp);
      }
      echo "document.writeln('<input type=text value=$counter>');";
    ?>

    访问页面:jsq.php   代码: <script type=text/javascript src=counter_ip.php?id=1></script>

    二、限IP统计方式即只有不同ip访问才会被记录为统计

    实现思路:首先设定存放统计数据的文件(counter[i].txt)是动态获取的即可以实现多页面统计——在设定存放统计ip数据的文件(ip[i].txt)是动态获取的——读取文件中的内容存入字符串——比较获取的ip是否已经存在于ip文件中,未存在重新写入自加操作——更新ip——以写入方式打开文件写入数据——从文件中输出统计数据——关闭文件。

    counter_ip.php页面代码:

    <?php
     $counter_fname='counter'.$_REQUEST["id"].'.txt';//动态获取需要统计的页面,并进行命名
      $counter_ips='ip'.$_REQUEST["id"].'.txt';//
     $counter=file_get_contents($counter_fname);
     $counter+=0;
    //判断本IP是否曾经访问过
    $ips=preg_split("/s+/",file_get_contents($counter_ips));
    $ip=$_SERVER["REMOTE_ADDR"];
    if(!in_array($ip,$ips)){//倘若该IP不在ip文件夹中,就新增加访问数据
    //更新计数器
     $counter++;
      if($fp=fopen($counter_fname,'w')){
     fputs($fp,$counter);fclose($fp);
      }
    //更新访问IP
    if($fp=fopen($counter_ips,'a')){
     fputs($fp," $ip");fclose($fp);
    }

    }
      echo "document.writeln('<input type=text value=$counter>');";
    ?>

    访问页面:jsq_ip.php   代码: <script type=text/javascript src=counter_ip.php?id=2></script>

  • 相关阅读:
    修改表结构
    enum/set 约束
    MYSQL 数据类型
    表和数据的基础操作
    存储引擎
    mysql
    HTML 介绍
    selor模块
    select
    协程
  • 原文地址:https://www.cnblogs.com/hssbsw/p/3392920.html
Copyright © 2011-2022 走看看