PHP用函数嵌入网站访问量计数器
发布:smiling 来源: PHP粉丝网 添加日期:2018-11-02 20:22:02 浏览: 评论:0
创建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 id="dd">
- <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中元素的个数
期待我的下一个版本吗?
Tags: PHP函数 PHP计数器
- 上一篇:PHP实现用户登录的案例代码
- 下一篇:php+ajax+h5实现图片上传功能
相关文章
- ·PHP简单实现记录网站访问量功能示例(2018-11-07)
推荐文章
热门文章
最新评论文章
- 写给考虑创业的年轻程序员(10)
- PHP新手上路(一)(7)
- 惹恼程序员的十件事(5)
- PHP邮件发送例子,已测试成功(5)
- 致初学者:PHP比ASP优秀的七个理由(4)
- PHP会被淘汰吗?(4)
- PHP新手上路(四)(4)
- 如何去学习PHP?(2)
- 简单入门级php分页代码(2)
- php中邮箱email 电话等格式的验证(2)