用ASP语言通过FSO制作最简单的网页计数器,不需要数据库,仅仅用文本文档就可以实现。同样PHP也可以不用数据库,利用文本文档来实现网页访问计数功能。这样很高效方便。
我们实现计数的思路是:通过PHP读取文本文档counter.txt里的数据,并+1保存到文本文档中。
新建counter.php文档,输入如下代码,PHP里的单行注释是用//或者#,多行注释用/* */来实现:
<?php
function get_hit($counter_file)
//定义函数,内容用{}括起来,学过编程的人应该看出来了,跟C语言有点相似
{
$count=0;
//将计数器归零,Php里的变量前面加上$号
if(file_exists($counter_file))
//如果计数器文件存在,读取其中的内容
{
$fp=fopen($counter_file,\"r\");
//r是read的缩写,代表读取的意思,以只读方式打开文件
$count=0+fgets($fp,20);
/*读取前20位数赋值给count变量,由于fgets()函数读取的是字符串,所以需要在前面+0来转换为整数,
这一点跟ASP就不同了,ASP中字符串可以直接跟整型进行运算,而不用转换。*/
fclose($fp);
//关闭文件
}
$count++;
//增加计数,这一点跟C就非常相似了
$fp=fopen($counter_file,\"w\");
//w是write的缩写,代表写入的意思,以写入的方式打开文件
fputs($fp,$count);
//输出计数值到文件
fclose($fp);
return($count);
//返回计数值
}
?>
<?php
$hit=get_hit(\"counter.txt\");
//调用刚才定义的函数处理counter.txt文档,并把结果赋值给hit变量。
echo \"您是第<b>\".\"$hit\".\"</b>位访客!\";
//输出结果。PHP与ASP的区别在于:ASP的连字符是“&”,而Php的连字符是“.”。
?>
同样在需要调用的PHP文档中插入这个文件:
1
<?php include(\"counter.php\");?>
需要注意的是,PHP每句程序结束都有一个“;”,这个对于熟悉ASP的人来说容易忽略而造成程序错误。
同样php也可以通过script脚本的方式来在html文档中调用这个计数器,需要将counter.php后面调用函数的代码修改一下:
<?php
$hit=get_hit(\"counter.txt\");
echo \"document.write (\\\"<center>您是第<b>\".\"$hit\".\"</b>位访客!</center>\\\");\";
?>
然后在需要使用网页中插入如下代码:
<script src=\"counter.php\" type=\"text/javascript\"></script>
是不是很方便呢!