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 相关文章推荐
Warning: session_destroy() : Trying to destroy uninitialized sessionq错误
Jun 16 PHP
YII实现分页的方法
Jul 09 PHP
php中fsockopen用法实例
Jan 05 PHP
PHP Warning: Module 'modulename' already loaded in问题解决办法
Mar 16 PHP
在html文件中也可以执行php语句的方法
Apr 09 PHP
常用的php图片处理类(水印、等比缩放、固定高宽)分享
Jun 19 PHP
PHP获取指定月份第一天和最后一天的方法
Jul 18 PHP
php调用自己java程序的方法详解
May 13 PHP
PHP基于mssql扩展远程连接MSSQL的简单实现方法
Oct 08 PHP
Django 标签筛选的实现代码(一对多、多对多)
Sep 05 PHP
php 多进程编程父进程的阻塞与非阻塞实例分析
Feb 22 PHP
XAMPP升级PHP版本实现步骤解析
Sep 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
德劲1103二次变频版的打磨
2021/03/02 无线电
实用函数3
2007/11/08 PHP
php恢复数组的key为数字序列的方法
2015/04/28 PHP
PHP register_shutdown_function()函数的使用示例
2015/06/23 PHP
用javascript实现在小方框中浏览大图的代码
2007/08/14 Javascript
jquery如何改变html标签的样式(两种实现方法)
2013/01/16 Javascript
ExtJS自定义主题(theme)样式详解
2013/11/18 Javascript
jQuery+PHP星级评分实现方法
2015/10/02 Javascript
微信小程序 教程之数据绑定
2016/10/18 Javascript
js Canvas绘制圆形时钟教程
2017/02/06 Javascript
详解vue 配合vue-resource调用接口获取数据
2017/06/22 Javascript
underscore之function_动力节点Java学院整理
2017/07/11 Javascript
微信开发之企业付款到银行卡接口开发的示例代码
2018/09/18 Javascript
[00:36]DOTA2风云人物相约完美“圣”典 12月17日不见不散
2016/11/30 DOTA
python使用分治法实现求解最大值的方法
2015/05/12 Python
200行自定义python异步非阻塞Web框架
2017/03/15 Python
Python实现的排列组合计算操作示例
2017/10/13 Python
python中的计时器timeit的使用方法
2017/10/20 Python
Python通过调用mysql存储过程实现更新数据功能示例
2018/04/03 Python
如何实现Django Rest framework版本控制
2019/07/25 Python
Pytorch中膨胀卷积的用法详解
2020/01/07 Python
Python之qq自动发消息的示例代码
2021/02/18 Python
机电一体化毕业生求职信
2013/11/02 职场文书
女子职高个人自荐书
2014/02/01 职场文书
国际贸易专业求职信
2014/06/04 职场文书
学校班班通实施方案
2014/06/11 职场文书
计划生育宣传标语
2014/06/21 职场文书
2014乡党委副书记党建工作汇报材料
2014/11/02 职场文书
幼儿园感恩节活动总结
2015/03/24 职场文书
2015年酒店工作总结范文
2015/04/07 职场文书
超级实用!五步法则,教你写好年终工作总结
2019/12/05 职场文书
用几道面试题来看JavaScript执行机制
2021/04/30 Javascript
Go语言设计模式之结构型模式
2021/06/22 Golang
MySQL详细讲解变量variables的用法
2022/06/21 MySQL
zabbix 代理服务器的部署与 zabbix-snmp 监控问题
2022/07/15 Servers
Python 操作pdf pdfplumber读取PDF写入Exce
2022/08/14 Python