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


Posted in PHP onOctober 27, 2017

这是一种方法实现计数器。想看另一种方法的请点击:【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 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中元素的个数

期待我的下一个版本吗?

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持三水点靠木。

PHP 相关文章推荐
封装一个PDO数据库操作类代码
Sep 09 PHP
thinkphp3.0 模板中函数的使用
Nov 13 PHP
PHP中多维数组的foreach遍历示例
Jun 13 PHP
laravel 4安装及入门图文教程
Oct 29 PHP
如何解决phpmyadmin导入数据库文件最大限制2048KB
Oct 09 PHP
PHP MPDF中文乱码的解决方式
Dec 08 PHP
twig里使用js变量的方法
Feb 05 PHP
ThinkPHP使用Ueditor的方法详解
May 20 PHP
PHP获取指定时间段之间的 年,月,天,时,分,秒
Jun 05 PHP
PHP实现批量检测网站是否能够正常打开的方法
Aug 23 PHP
PHP+MariaDB数据库操作基本技巧备忘总结
May 21 PHP
php libevent 功能与使用方法详解
Mar 04 PHP
PHP实现网站访问量计数器
Oct 27 #PHP
在 Laravel 中 “规范” 的开发短信验证码发送功能
Oct 26 #PHP
详解php 使用Callable Closure强制指定回调类型
Oct 26 #PHP
php静态成员方法和静态的成员属性的使用方法
Oct 26 #PHP
PHP中类型转换 ,常量,系统常量,魔术常量的详解
Oct 26 #PHP
利用php获得flv视频长度的实例代码
Oct 26 #PHP
PHP 中魔术常量的实例详解
Oct 26 #PHP
You might like
常用星际术语索引(新手指南)
2020/03/04 星际争霸
这部番真是良心,画质好到像风景区,剧情让人跟着小公会热血沸腾
2020/03/10 日漫
MVC模式的PHP实现
2006/10/09 PHP
详解PHP序列化反序列化的方法
2015/10/27 PHP
在WordPress中获取数据库字段内容和添加主题设置菜单
2016/01/11 PHP
js之事件冒泡和事件捕获详细介绍
2013/10/28 Javascript
js函数调用的方式
2014/05/06 Javascript
jquery拖动层效果插件用法实例分析(附demo源码)
2016/04/28 Javascript
Angular学习笔记之angular的$filter服务浅析
2016/11/12 Javascript
详解js中call与apply关键字的作用
2016/11/21 Javascript
浅谈对Angular中的生命周期钩子的理解
2017/07/31 Javascript
JS+Ajax实现百度智能搜索框
2017/08/04 Javascript
bootstrap table表格客户端分页实例
2017/08/07 Javascript
js中this的指向问题归纳总结
2018/11/28 Javascript
微信小程序设置滚动条过程详解
2019/07/25 Javascript
jQuery 实现DOM元素拖拽交换位置的实例代码
2020/07/14 jQuery
[03:32]2014DOTA2西雅图邀请赛 CIS外卡赛赛前black专访
2014/07/09 DOTA
2款Python内存检测工具介绍和使用方法
2014/06/01 Python
Python实现统计单词出现的个数
2015/05/28 Python
举例讲解Python中metaclass元类的创建与使用
2016/06/30 Python
python绘制多个曲线的折线图
2020/03/23 Python
Django ORM多对多查询方法(自定义第三张表&amp;ManyToManyField)
2019/08/09 Python
python GUI库图形界面开发之PyQt5 Qt Designer工具(Qt设计师)详细使用方法及Designer ui文件转py文件方法
2020/02/26 Python
基于python模拟TCP3次握手连接及发送数据
2020/11/06 Python
python 利用jieba.analyse进行 关键词提取
2020/12/17 Python
numpy实现RNN原理实现
2021/03/02 Python
使用纯 CSS 创作一个脉动 loader效果的源码
2018/09/28 HTML / CSS
法国和欧洲海边和滑雪度假:Pierre & Vacances
2017/01/04 全球购物
华为C++笔试题
2014/08/05 面试题
材料成型专业个人求职信范文
2013/09/25 职场文书
中国梦的演讲稿
2014/01/08 职场文书
幼儿园春游活动方案
2014/01/19 职场文书
医院信息公开实施方案
2014/05/09 职场文书
暑期社会实践先进个人主要事迹
2014/05/22 职场文书
学生检讨书怎么写
2014/10/09 职场文书
教师研修随笔感言
2015/11/18 职场文书