基于PHP技术的图形计数器系统的研究与分析

时间:2022-10-05 07:12:49

基于PHP技术的图形计数器系统的研究与分析

【摘要】网站计数器的形式多种多样,有直接以数字计数存储于文本或数据库中的;还有以图形方式计数器存储在文档或数据库中的。相对来说图形计数器是比较常见的一种。在浏览网页时经常可以看到网站的首页带有一个精美图形计数器,用来显示该网站的访问量。用图形做计数器,不仅可以美化网站的访问量。

【关键词】计数器 数据库 图形 访问

一、功能结构分析

网站的计数器对于网站管理者来说是一个非常值得关注的部分,它记录了网站被访问的次数,客观地反映了网站欢迎的程度。如果网站的点击率很高,访问者也会认为该网站值得关注,因而耐心驻足。那么设计一个什么杨的计数器才能更好的表达出这几个数字代表的含义呢,它既要简单又不能太单调,既要美观又不能太繁琐。计数器模块的设计包括3个方面的内容:数字计数器、图形计数器和反应网站访问量的折线图。为了让读者更好地理解计数器的功能和实现的多种方法,本章节编写了数字计数器和图形计数器,把网站的访问数据分别存储于文本文件和数据库中。

二、网站流程分

笔者设计的计数器模块的流程很简单,首先创建一个文本文件和数据库来存储访问数据,然后把每次的访问信息添加到文本文件和数据库中,最后把数据以数字和图形形式反馈到页面当中。

三、数据库设计

本程序中设计的图形计数器采用把数据存储于数据库的方式,首先需创建一个数据库,数据库的名称为TEST,同时还包括一个数据表jsq。数据库jsq用于存储网站访问量的信息。此表只要包含自动编号、每次访问的记录、访问前6个字符以及时间字段构成即可。

四、关键技术

(1)数字计数器。对于简单的数字计数,是把数据存储于文本文件counter.text中。其思路是首先判断文件是否存在,如果不存在则打开失败;如果打开成功则继续执行并读取文件中的数据,将计数器加1;然后以写的方式重新打开文件,把新的统计数据写入文件中,关闭文件;最后重新打开文件,读取输出文件中的数据。数字计数器的部分代码如下:

//使用文本存储数据

If(($fp=fopen(“counter.text”,”r”))==false){echo “打开相关文件出现异常失败!”;

}else{$counter=fgets($fp,1024);

Fclose($fp);

$counter++;

$fp=fopen(“counter.txt”,”w”);

Fputs($fp,$counter);

Fcloser($fp);}

//从文本文件中读取统计数据

If(($fp-fopen(“counter.txt”,”r”))==false){echo “打开文件失败!”;}else{

$counter=fgets($fp,1024);

Fclose($fp);

Echo “数字计数器:”.$counter;}//输出访问次数

(2)图形计数器。图形计数器是通过数据库来存储数据的,并且该计数器使用6位数字的计数方式,即显示6位方式,即显示6位数字,高位空值以数字0来补位。此图形计数器的功能可以分3个部分来实现,第一部分是从数据库中提取访问量的数据。其代码如下:

$query=”select count(*) from ll from jsq”;

$strout=mysql_query($query);

$fwl=mysql_strout($strout,0,’ll’);

echo “ -----------------“;

echo “图形计数器”;

其中变量$fwl输出的是该网站当前的访问量。既然是图形计数器,就需要有图形,把0~9的数字图形存储于根目录下的image文件夹中。

接下来的第二个步骤则是设计这个6位数字的空值部分,即补位值0如何以图形的方式输出。主要使用了strlen()和str_repeat()两个函数,分别用于获取字符串的长度和循环输

指定个数的字符串,其代码如下:

//对补位数字0的处理

$len=strlen($fwl);//获取字符串的长度

$str-str_repeat(“0”,6-$len);

for($i=0;$i

$strout=$str[$i];

$strout=’’;

echo $strout;

}

第三步是对数字计数器如何采用图形的方式来对其进行展示到页面中,这是最为关键的步骤,根据需要显示的图形个数采用循环语句从数据库中获取相关图片来达到此目的。主要是应用了str_len()函数,同时还使用了swich语句和for语句。具体代码如下:

for ($i=0; $i

{

$strout=$fwl[i];

switch($strout){

case “0”;$jsq[$i]=”cntpicture/0.gif”;break;

case “1”;$jsq[$i]=”cntpicture/1.gif”;break;

case “2”;$jsq[$i]=”cntpicture/2.gif”;break;

case “3”;$jsq[$i]=”cntpicture/3.gif”;break;

case “4”;$jsq[$i]=”cntpicture/4.gif”;break;

case “5”;$jsq[$i]=”cntpicture/5.gif”;break;

case “6”;$jsq[$i]=”cntpicture/6.gif”;break;

case “7”;$jsq[$i]=”cntpicture/7.gif”;break;

case “8”;$jsq[$i]=”cntpicture/8.gif”;break;

case “9”;$jsq[$i]=”cntpicture/9.gif”;break;

}

}

echo “图行计数器”;

for($i=0;$i

五、总结

对于图形计数器的设计主要涉及到计数器的存储以及具体的表现形式,对于传统的数字形式的计数器一般都是采用文本文件对计数器进行存储和保存,这种形式的计数器对于复杂的计数器不能得到满足,本文是采用了使用数据库形式来实现计数器的。

上一篇:UML在火车站售票系统建模中的应用 下一篇:双相不锈钢