A-A+

不同类型的PHP计数器经典范例

2013年11月17日 编程技术 暂无评论

五款不同类型的基于文本的php计数器,第一种:基于文件系统的页面计数器范例,将计数器放入到根目录下的 txt 文件中进行读取操作,这样做的好处是 txt 作为了一个小型的数据库,里面仅仅放了数字,在新来访一个访客或当我们刷新页面时,如刷新xiaohuboke.com页面, txt 里的数据便会++1,然后再通过 php 进行读取到页面,样式颜色可以自定义。需要在根目录新建 num.txt。

[code lang="php"]

//基于文件系统的页面计数器范例

$countfile = "num.txt";
//定义计数器写入的文件是当前目录下count.txt,然后我们应当测试该文件能否打开
if (($fp = fopen($countfile, "r+")) == false) { //用读写模式打开文
件,若不能打开就退出
printf ("打开文件 %s 失败!",$countfile);
exit;
}
else
{
//如果文件能够正常打开,就读入文件中的数据,假设是1
$count = fread ($fp,10);
//读取10位数据
$count = $count + 1;
fclose ($fp);
//关闭当前文件
$fp = fopen($countfile, "w+");
//以覆盖模式打开文件
fwrite ($fp,$count);
//写入加1后的新数据
fclose ($fp);
//并关闭文件
echo '您好,您是第'. $count.'位访客';
}
?>

[/code]

第二种:基于数据库的页面计数器范例,这一款数据库的读出方式和第一种是相当的,唯一不一样的就是将计数器存储到了数据库当中,新建一个专门放置数据的表 num,每一次的访客或重新刷新时进行 $counter+1 更新即可。

[code lang="php"]

基于数据库的页面计数器范例

$db=mysql_connect("localhost","root","qwaszx");
$query="select * from num";
$result=mysql_db_query("test",$query);
if($result){
$r=mysql_fetch_array($result);
$counter=$r["NumValue"];
$counter=$counter+1;
$query='update num set NumValue='.$counter.' where id=1';
$result=mysql_db_query("test",$query);
mysql_close();
echo '您好,您是第'. $counter.'位访客';}
?>

[/code]

第三种,页面分离计数器范例,其实这款php计数器跟第第一种是差不多的,只不过用 js 文件进行了调用,同样有一个专门的 php 文件来处理计数器,利用的是根目录下的 num.txt 文本来存储计数器。共三个文件。实例文件 demo.php

[code lang="php"]

页面分离计数器范例

您好,您是第

位访客

[/code]

php计数器文件:filecount.php

[code lang="php"]
$countfile = "num.txt";
//定义计数器写入的文件是当前目录下count.txt,然后我们应当测试该文件能否打开
if (($fp = fopen($countfile, "r+")) == false) { //用读写模式打开文
件,若不能打开就退出
printf ("打开文件 %s 失败!",$countfile);
exit;
}
else
{
//如果文件能够正常打开,就读入文件中的数据,假设是1
$count = fread ($fp,10);
//xiaohuboke.com基础实例,读取10位数据
$count = $count + 1;
fclose ($fp);
//关闭当前文件
$fp = fopen($countfile, "w+");
//以覆盖模式打开文件
fwrite ($fp,$count);
//写入加1后的新数据
fclose ($fp);
//并关闭文件
echo " document.write(\"".$count."\")\n";
//用javascript形式输出数据
}
?>
[/code]

第四种:基于文件的图形计数器范例,图形计数器我们见得应该是最多的了,相对于单调的数字计数器,要美观很多,可以自定义我们喜欢的图片,这款php图形计数器由根目录下的 num.txt 来保存数据,img/ 目录下保存 0.gif、1.gif、2.gif....9.gif 图形。实例代码如下:

[code lang="php"]

图形页面计数器范例

$countfile = "num.txt";
//定义计数器写入的文件是当前目录下count.txt,然后我们应当测试该文件能否打开
if (($fp = fopen($countfile, "r+")) == false) { //用读写模式打开文
件,若不能打开就退出
printf ("打开文件 %s 失败!",$countfile);
exit;
}
else
{
//如果文件能够正常打开,就读入文件中的数据,假设是1
$count = fread ($fp,10);
//读取10位数据
$count = $count + 1;
fclose ($fp);
//关闭当前文件
$fp = fopen($countfile, "w+");
//以覆盖模式打开文件
fwrite ($fp,$count);
//写入加1后的新数据
fclose ($fp);
//并关闭文件
}
//$count转换为图片模式的代码
$fp = fopen ($countfile, "r"); //以只读模式打开文件
$array_count = 1; //定义一个表示数组元素位置的变量,下面要用
while (! feof($fp)) {
$current_number = fgetc($fp);
$counter_array[$array_count] = $current_number;
$array_elements = count ($counter_array);
$array_count = $array_count + 1;
}
//显示代码
echo ("
欢迎您,第"); for ($array_id = 1;$array_id < $array_elements; ++ $array_id) { echo (" n=absmiddle>"); } echo ("位客人

");
?>
[/code]

第五种:基于文件的图形计数器范例,这款基于文件的图形计数器跟我们的图形验证码超像,用过验证码的phper都知道,验证码最后就是通过 http 头输出一个图形来,上面是我们的验证码,这里可以理解成,图形上的验证码换成我们的计数器就可以了。其中也包含了三个文件,数据保存到根目录下的 num.txt 文件中。

图形计数器范例文件:

[code lang="php"]
//图形计数器范例您好,您是第位访客
[/code]

php计数器的处理文件:
[code lang="php"]

[/code]

小提示:这里的计数器都比较简单,每个计数器文件里都有详细的注释,一个php计数器仅有几行代码即可完成,有了这几个不同类型的php计数器,对于一般的网站应用是足够的了。对于我们学习php计数器来说,也足够了。

给我留言

Copyright © 小虎博客 保留所有权利.   Theme  Ality

用户登录