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 相关文章推荐
php过滤危险html代码
Aug 18 PHP
php连接mysql数据库代码
Mar 10 PHP
PHP获取当前日期所在星期(月份)的开始日期与结束日期(实现代码)
Jun 18 PHP
浅析PHP原理之变量(Variables inside PHP)
Aug 09 PHP
php中通过数组进行高效随机抽取指定条记录的算法
Sep 09 PHP
PHP解析html类库simple_html_dom的转码bug
May 22 PHP
php遍历数组的4种方法总结
Jul 05 PHP
php实现根据字符串生成对应数组的方法
Sep 22 PHP
php使用ereg验证文件上传的方法
Dec 16 PHP
smarty模板引擎基础知识入门
Mar 30 PHP
Windows Server 2008 R2和2012中PHP连接MySQL过慢的解决方法
Jul 02 PHP
laravel 实现用户登录注销并限制功能
Oct 24 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
锁定年轻人的双倍活力 星巴克推出星倍醇即饮浓咖啡
2021/03/03 咖啡文化
php 时间计算问题小结
2009/01/04 PHP
基于PHP编程注意事项的小结
2013/04/27 PHP
超级强大的表单验证
2006/06/26 Javascript
微信分享的标题、缩略图、连接及描述设置方法
2014/10/14 Javascript
浅谈JavaScript 覆盖原型以及更改原型
2016/08/31 Javascript
xcode中获取js文件的路径方法(推荐)
2016/11/05 Javascript
JQuery form表单提交前验证单选框是否选中、删除记录时验证经验总结(整理)
2017/06/09 jQuery
angular实现spa单页面应用实例
2017/07/10 Javascript
ES6中let 和 const 的新特性
2018/09/03 Javascript
javascript json字符串到json对象转义问题
2019/01/22 Javascript
实现高性能javascript的注意事项
2019/05/27 Javascript
JavaScript如何借用构造函数继承
2019/11/06 Javascript
JS实现压缩上传图片base64长度功能
2019/12/03 Javascript
微信小程序实现滑动翻页效果(完整代码)
2019/12/06 Javascript
[02:39]DOTA2英雄基础教程 极限穿梭编织者
2013/12/05 DOTA
[26:24]完美副总裁、DOTA2负责人蔡玮专访:电竞如人生
2014/09/11 DOTA
[01:00]选手抵达华西村 整装待发备战2016国际邀请赛中国区预选赛
2016/06/25 DOTA
python翻译软件实现代码(使用google api完成)
2013/11/26 Python
Python smtplib实现发送邮件功能
2018/05/22 Python
浅谈django orm 优化
2018/08/18 Python
Python Scapy随心所欲研究TCP协议栈
2018/11/20 Python
Python3中编码与解码之Unicode与bytes的讲解
2019/02/28 Python
Django网络框架之HelloDjango项目创建教程
2019/06/06 Python
Python字符串中删除特定字符的方法
2020/01/15 Python
Python3监控疫情的完整代码
2020/02/20 Python
如何在scrapy中集成selenium爬取网页的方法
2020/11/18 Python
Html5 audio标签样式的修改
2016/01/28 HTML / CSS
世界第一冲浪品牌:O’Neill
2016/08/30 全球购物
后勤园长自我鉴定
2013/10/17 职场文书
大学生军训自我评价分享
2013/11/09 职场文书
2014年社区党建工作总结
2014/11/11 职场文书
Python爬虫爬取全球疫情数据并存储到mysql数据库的步骤
2021/03/29 Python
spring注解 @PropertySource配置数据源全流程
2022/03/25 Java/Android
IDEA 2022 Translation 未知错误 翻译文档失败
2022/04/24 Java/Android
MySQL 计算连续登录天数
2022/05/11 MySQL