我在贵站的php源码看过doyoudo的“一个简单易行的Counter”(原作者应是David W. Bettis ),确实很简单,但是在我的机器上(win98+apache+php4)一运行到
exec( "rm -rf $counterFile");就出错。于是我将其改进了一下,非常简单,初学者就能看懂(我就是初学者)。而且不需要counter.txt原始文档。
<HTML>
<HEAD>
<TITLE>我的计数器</TITLE>
</HEAD>
<BODY BGCOLOR="#FFFFFF">
<?php
$counterFile = "counter.txt"; //设定计数器文件
if (!file_exists($counterFile))
{
fopen($counterFile,"w"); //如果此文件不存在,新建一个文件
}
$fp = fopen($counterFile,"r");//以只读方式打开文件
$num = fgets($fp,5); //读取计数
$num += 1; //计数加1
print "<BR><BR><BR><BR><BR><BR><center>您是第
"."$num"." 个访问的家伙。</center>";
fclose($fp); //关闭文件
$fp=fopen($counterFile,"w"); //以写方式打开文件,并将长度置为0
fwrite($fp,$num); //将新计数写入文件
fclose($fp); //关闭文件
?>
</BODY>
</HTML>
改进:将以下存为mycounter.php,
<?php
function mycounter(){
$counterFile = "counter.txt";
if (!file_exists($counterFile))
{
fopen($counterFile,"w");
}
$fp = fopen($counterFile,"r");
$num = fgets($fp,5);
$num += 1;
print "$num";
fclose($fp);
$fp=fopen($counterFile,"w");
fwrite($fp,$num);
fclose($fp);
}
?>
以后就可以在主页中很容易地用mycounter()函数引用。如:
<?php
require("mycounter.php");
?>
<html>
<head>
<title>访客计数器 最终版</title>
</head>
<body>
您是第 <? mycounter(); ?> 位参观者
</body>
</html>