<HTML>
<HEAD>
<TITLE>来访计数器</TITLE></HEAD><BODY>
<?
$fp=fopen("count.txt","w+");
$count=(integer)(fgets($fp,20));
rewind($fp);
$count++;
fputs($fp,$count,20);
fclose($fp);
$len=strlen($count);
echo "你是第";
for($i=0;$i<$len;$i++)
echo "<img src=0".substr($count,$i,1).".gif></img>";
echo "个来访者";
?>
</BODY>
</HTML>
修改成这样了,不过那个数字只能显示1,连2都显示不了,为什么?

解决方案 »

  1.   

    <TITLE>来访计数器</TITLE></HEAD><BODY>
    <?
    $fp=fopen("count.txt","r+");
    $count=(integer)(fgets($fp,20));
    $count+=1;
    rewind($fp);
    fputs($fp,$count,20);
    fclose($fp);
    $len=strlen($count);
    echo "你是第";
    for($i=0;$i<$len;$i++)
    echo "<img src=0".substr($count,$i,1).".gif></img>";
    echo "个来访者";
    ?>
    </BODY>
    </HTML>***************************************
    你在fopen的时候参数带错了!应该是r+
      

  2.   

    我改了,还是不行,如果count.txt里2,3,4.....就不行
      

  3.   

    <?
    $fp=fopen("count.txt","r");
    if(!$fp) die("err");
    $count=(int)fread($fp,20);
    fclose($fp);
    $fp=fopen("count.txt","w");
    $count++;
    fputs($fp,$count);
    fclose($fp);
    $len=strlen($count);
    echo "你是第 $count 个来访者";
    ?>
      

  4.   

    为什么要用两个fopen?楼上可不可以说清楚一点?
      

  5.   

    我改了,还是不行,如果count.txt里2,3,4.....就不行
    ===============================================
    你用我的代码,我的代码测试成功了的!
      

  6.   

    这个文本计数器可以防止一定的刷新,用户只有关闭所有的浏览器后,再开浏览器才会是计数器加一,代码如下:
    <?
    session_start();
    //注册一个session变量,用来在客户端记录登陆的用户
    session_register("income");
    //建立文件counter.txt用来存放访问量,文件名可以随自己任意更改
    if (!file_exists("counter.txt"))
    {
    $fp=fopen("counter.txt","w");
    fclose($fp);
    }
    //读取计数值
    $ary=file("counter.txt");
    $count=$ary[0];
    //判断用户是否关闭浏览器,否则计数器不增加
    if (!isset($income))
    {
    $count++;
    $income="youhaveregist";
    $fp=fopen("counter.txt","w");
    rewind($fp);
    fputs($fp,$count);
    fclose($fp);
    }
    //显示计数值
    echo $count;?>