php图形数字计数器,是现在网站中经常使用的方法,它的基本功能是针对单个用户而言,登录网站后计数器的值加一,用户刷新网页,计数器的值不会增加。这一点功能的实现是利用session来实现的,当用户登录时,检测session变量的值,如果该值为空,则在存放登录人数的文件中读取现有的访问量,将该值加一,关闭文件,然后输出改值;如果session变量的值不为空,则计数器的值不增加,即使在用户刷新的时候也不增加。

session实现计数有一点不足的地方,就是虽然用户在该页面刷新时计数器的值不会增加,但是当用户关闭浏览器,再次打开这个网页时,计数器的值仍会增加,不过这样也是符合计数的原理的;在这一点和cookie不同的是,利用cookie实现用户刷新计数器的值不更新,关闭浏览器打开也是不更新,但是这是在一定的期限内的,当用户设置的cookie过期之后,计数器的值还是会增加;这样分析来看,如果要非常精确的计数,有多少人访问网站就要用IP来实现,而且要存储在数据库中,这个相对前两种来说麻烦一点,但是利用数据库保存IP可以实现更精确的统计,不单单实现用户刷新不重复计数,还能实现统计总的访问量,某个月的访问量,某天的访问量,甚至精确到某个IP的访问量等,在这里就先介绍利用session实现的图形数字计数器:

在根目录下创建:data.txt的文件,用来保存访问量。

$handle=fopen("data.txt","r");
     if(!$handle){
        echo "打开文件失败!";
     }else{
         echo "您是本站的第:";
         $counter = fgets($handle,1024);        // 取出文件中的现有的访问量的值
         fclose($handle);
         $count = strlen($counter);     // 这里实现的是6为数字的计数,例如002056,在这里计算出counter的长度,那么它前面的就是全部输出0就可以了
         for($i=0;$i<6-$count;$i++){
             echo "<img src='images/0.png'>&nbsp;";       // 2056前面都输出  0 的那个小png的图片
         }
     }
     for($i=0;$i<$count;$i++){
         $disgn = substr($counter,$i,1);   // 这里利用substr()函数实现一位一位的数字来比较,第一个参数是string类型的变量,第二个参数是从第几个开始输出,第三个变量是     输出几个
         switch($disgn) {                          // 各自比较    转化为图片的形式
             case '0':
                 $rst[$i]='0.png';
                 break;
             case '1';
                 $rst[$i]='1.png';
                 break;
             case '2':
                 $rst[$i]='2.png';
                 break;
             case '3':
                 $rst[$i]='3.png';
                 break;
             case '4':
                 $rst[$i]='4.png';
                 break;
             case '5':
                 $rst[$i]='5.png';
                 break;
             case '6':
                 $rst[$i]='6.png';
                 break;
             case '7':
                 $rst[$i]='7.png';
                 break;
             case '8':
                 $rst[$i]='8.png';
                 break;
             case '9':
                 $rst[$i]='9.png';
                 break;
         }
         echo "<img src='images/".$rst[$i]."'>&nbsp;";
      }
      echo "位访客";

这里要准备0—9的图片素材,保存在根目录下的images文件夹中就可以了,具体的实现效果是:

php图形数字计数器的实现相关推荐

  1. linux php 网站计数器,PHP图形数字计数器的实现

    php图形数字计数器,是现在网站中经常使用的方法,它的基本功能是针对单个用户而言,登录网站后计数器的值加一,用户刷新网页,计数器的值不会增加.这一点功能的实现是利用session来实现的,当用户登录时 ...

  2. 实现一个多线程的数字计数器,每个线程分别计数一个不同的数字,最后输出所有线程计数的总和...

    为了实现一个多线程的数字计数器,可以使用 Python 的 threading 模块来创建和管理多线程.可以定义一个计数器类,在其中定义一个计数函数,每个线程分别调用该函数计数一个不同的数字.最后在主 ...

  3. 图形数字的识别算法: 车牌识别及验证码识别的一般思路

    图形数字的识别算法: 车牌识别及验证码识别的一般思路 本文源自我之前花了2 天时间做的一个简单的车牌识别系统.那个项目,时间太紧,样本也有限,达不到对方要求的95% 识别率(主要对于车牌来说,D,0 ...

  4. 数字正方形 c语言,图形 数字正方形

    C语言 [图形]数字正方型 这是双重循环的入门题目,大家来看看,你会做吗? 输入 n 的值,输出如下例( n=4 )所示的由数字组成的正方型. 1 2 3 4 5 6 7 8 9 10 11 12 1 ...

  5. python入门第二章房贷计算器 打印五子棋棋盘 猜数字 计数器 逢七拍手游戏

    # 等额本息(均使用基准利率) # 组合贷可作为课后习题 # 商业贷款利率:4.9% # 公积金利率:3.25%# 每月还款额=贷款本金×[月利率×(1+月利率) ^ 还款月数]÷{[(1+月利率) ...

  6. Multisim 数字计数器

    实现十进制计数 clock 指示器 同步四位计数器 结果 ENP ENT 计数控制端 同时为高电平才会进行计数 LOAD 同步并行置入端(低电平有效) 将ABCD四个输入端的数据送至QABCD CLR ...

  7. 基于FPGA的数字计数器

    实验总体流程: 1编译代码或拼图 2编译仿真 3"pins"编译管脚(对照使用手册) 4"device"选择芯片和服务(EPCS4:EP3C16F484) 5再 ...

  8. C语言:打印图形 数字直角三角形

    /*打印图形 1 22 333 4444 55555 */ #include<stdio.h> void main() { int i,j; for(i=1;i<=5;i++){ f ...

  9. mnist手写数字识别_手写数字识别

    案例: 基于mnist数据集,建立mlp模型,实现0-9数字的十分类任务: 1.实现mnist数据载入,可视化图形数字 2.完成数据预处理:图像数据维度转换与归一化.输出结果格式转换 3.计算模型在预 ...

最新文章

  1. Microbiome:植物根际微生物组也有昼夜节律
  2. Design Pattern - Flyweight(C#)
  3. MySQL 全文索引实现简单版搜索引擎
  4. Codeforces Gym 101173 CERC 16 D BZOJ 4790 Dancing Disks
  5. 计算机网络与通信02339,4月全国高等教育自学考试计算机网络与通信试题及答案解析.docx...
  6. Intel® Nehalem/Westmere架构/微架构/流水线 (9) - 系统软件增强/能耗增强
  7. 个人简介页面如何设计?集设网优秀案例给你灵感
  8. linux cp 强行覆盖
  9. 练习(黄冈中学布局)
  10. 黑马博客——详细步骤(十)项目功能的实现之开发环境与生产环境
  11. Python3.7 Scrapy crawl 运行出错解决方法
  12. 2.0显示为整数 java_Java如何将系统属性读取为整数?
  13. python open函数encoding_关于python内open函数encoding编码问题
  14. css权威指南——link
  15. 【opencv450-samples】digits_svm 手写数字识别SVM vs KNearest (SVM and KNearest digit recognition)
  16. 了解下Bit,Byte,KB,MB,GB的换算关系
  17. 档案管理系统操作说明
  18. 兼容android模拟器的微信apk,Android模拟器中安装apk的方法
  19. python基础教程:用Python秒算24点实现及原理详解
  20. 网络连接不正常是什么原因

热门文章

  1. 淘宝开店心得,有好的建议可以提出来哦
  2. 吃透Chisel语言.15.Chisel模块详解(二)——Chisel模块嵌套和ALU实现
  3. 汽车网络安全之——安全技术要求
  4. 主机访问虚拟机oracle数据库
  5. 【MySQL】数据库理论知识
  6. 王欣回应微信封禁,解释为何取名叫马桶MT
  7. Java 签章操作的设计与实现
  8. TypeScript基础JavaScript补漏
  9. DeskFX for mac(音频增强软件)
  10. 音频文件PCM、WAV、MP3的区别以及文件合并