当前位置 博文首页 > PHP用函数嵌入网站访问量计数器

    PHP用函数嵌入网站访问量计数器

    作者:南郭闲笙 时间:2021-09-21 19:00

    这是一种方法实现计数器。想看另一种方法的请点击:【PHP】简单的网站访问量计数器实现

    想看具体代码思路的也请点击上面的链接。

    创建Embed-Count文件夹

    在Embed-Count文件夹下面创建counter.inc.php文件,内容如下:

    <?php
    function counter(){
      $counter = 0;               //初始化变量
      $max_len = 8;
      $lj = explode("/",$_SERVER["PHP_SELF"]); 
    
      //超全局变量$_SERVER['PHP_SELF']保存了当前运行脚本的名字 Embed_Count/al_Embed_Fn.php
    
      $CounterFile="./counter/".$lj[count ($lj)-1].".dat";
      if(!file_exists($CounterFile)){
        if(!file_exists(dirname($CounterFile))){
          mkdir(dirname($CounterFile),0777);
        }
        $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);
      echo $counter;
    }
    
    
    
    ?>
    

    在Embed-Count文件夹下面创建al_Embed_Fn.php文件,内容如下:

    <?php
      include "counter.inc.php";
    ?>
    <html>
    <head>
      <meta charset="UTF-8">
      <title>嵌入式网页计数器-刘佳晨</title>
    </head>
    <body>
      <div >
        <span>欢迎您!</span>
        <span>您是本网站的第<?php counter(); ?>位访客</span>
      </div>
    </body>
    </html>

    好了,键入完成之后,是不是发现就只是把代码封装成一个函数而已?

    没错,但是这次又用了很多新的函数和小技巧。让我给你一 一道来。

    小技巧

    1.多数php程序员习惯于吧include或require 的文件扩展名命名为“inc”;

    2.$CounterFile="./counter/".$lj[count ($lj)-1].".dat";把计数器文件定位于当前脚本所在文件夹下的子文件夹counter里面,文件以当前脚本名称加“dat”为名,即al_Embed_Fn.php.dat

    3.<?php include "counter.inc.php" ?>把计数器函数嵌入到网页中,该段脚本应该放在<HTML>标记之前;counter.inc.php保存在与网页相同的文件夹下,否则在include 中要指明文件的存放路径

    4.<?php counter(); ?>调用counter() 函数,该函数返回计数器的值
    好了,这个函数调用的嵌入式也做好了。

    这里有几个函数需要说一下。

        mkdir(dirname($CounterFile),0777):建立以$CounterFlile的值为名的目录,即./counter,目录的访问权限是最高权限(可读可写可执行);

        dirname($CounterFile):返回路径中的目录部分

        explode('/',$_SERVER[PHP_SELF]):返回一个字符串数组,每个元素为$_SERVER[PHP_SELF]经“/”作为边界切割出的子字符串

        count($lj):统计数组&lj中元素的个数

    期待我的下一个版本吗?

    jsjbwy
    下一篇:没有了