回 帖 发 新 帖 刷新版面

主题:[讨论]访客计数器PHP程序

访客计数器PHP程序,要求,将访客数量显示在标题栏,以下是我的程序代码,但是运行不成功,刷新页面后,计数还是为1.请各位帮我看看问题出在哪儿?"/tmp/counter.txt"文件目录在哪儿生成的呢?
<html>
<head>
<title>
<?php
$counterFile =  "/tmp/counter.txt";
function displayCounter($counterFile) {
  $fp     = fopen($counterFile,"rw");
  $num    = fgets($fp,5);
  $num    += 1;
  print  "您是第 "."$num"." 位访客";
  exec( "rm -rf $counterFile");
  exec( "echo $num > $counterFile");
}
if (!file_exists($counterFile)) {
  exec( "echo 0 > $counterFile");
}
displayCounter($counterFile);
?>
</title>
</head>
<body>
<?php
  echo "访客计数器\n";
?>
</body>
</html>

回复列表 (共1个回复)

沙发

hyy577你好,
1。我把程序略改了一下,运行后在标题栏显示访客数量。
2。我也是初学,因为“rw”不行,于是改成了“r+”,只是r+没有建文件的功能,
需要先做一个空文件counter.txt。
3。没必要在title里面写。
4。你缺少一个写文件的过程。
5。 exec( "rm -rf $counterFile");
  exec( "echo $num > $counterFile");
这两句请给解释一下好吗?我也是初学,书上没找到,请务必给说明一下,谢谢!
<?php
$counterFile =  "counter.txt";
function displayCounter($counterFile) {
  $fp     = fopen($counterFile,"r+");
  $num    = fgets($fp,1024);
  $num    += 1;
  rewind($fp);
  fwrite($fp,$num);
  fclose($fp);
  echo "<title>您是第 ".$num." 位访客</title>";
}
displayCounter($counterFile);
?>

我来回复

您尚未登录,请登录后再回复。点此登录或注册