这是一种方法实现计数器。想看另一种方法的请点击:【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> <p id="dd"> <span>欢迎您!</span> <span>您是本网站的第<?php counter(); ?>位访客</span> </p> </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]经“/”作为边界切割出的子字符串