• 【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>

  • 相关阅读:
    sublime 安装 插件 package control,安装docblockr
    常用PHP方法个人汇总
    Linux使用SVN 钩子自动同步更新网站代码
    PHP处理微信支付回调
    nodejs v4.4.5在windows下的安装
    jQuery延迟执行的方法,常用于TAB效果和各种切换效果
    textarea提示还能输入多少字
    有关git的记录
    异常的处理,异常日志的规约
    poi导入导出
  • 原文地址:https://www.cnblogs.com/hssbsw/p/3392920.html
Copyright © 2020-2023  润新知