跟着视频学习
以下是 讲图片计数器前的铺垫,文字计数器
<?php 
if (!@$f=fopen("num.txt", "r")){
echo  "文件不存在啊";
$num=0;
}else {
fgets($f,10);
fclose($f);
}
$num++;
$ff = fopen("num.txt", "w");
fwrite($ff, $num);
fclose($ff);
echo $num;
?>
-------------------------------------------------------遇到的情况------------------------------------------------
运行第一次正常,可以建立新的num.txt文件,且计数器跳到1
但是再次运行,理应显示数字2
但显示如下
( ! ) SCREAM: Error suppression ignored for
( ! ) Notice: Undefined variable: num in C:\wamp\www\PHP100\PHP07-GraphicalCounter.php on line 42
Call Stack
# Time Memory Function Location
1 0.0006 253472 {main}( ) ..\PHP07-GraphicalCounter.php:0
1

解决方案 »

  1.   

    先用file_exists函数判断文件是否存在
    不存在:创建文件,并写入1
    存在:打开文件,读出文件内容,加1后写入
      

  2.   

    if (!@$f=fopen("num.txt", "r")){
    echo  "文件不存在啊";
    $num=0;
    }else {
    $num=fgets($f,10);
    fclose($f);
    }
    $num++;
    $ff = fopen("num.txt", "w");
    fwrite($ff, $num);
    fclose($ff);
    echo $num;
      

  3.   

    <?php
    $filename='num.txt';
    if(file_exists($filename)){
    //文件存在
    $f=fopen($filename,'r+');
    $num=(int)fgets($f);
    $num++;
    rewind($f);
    }else{
    //文件不存在
    $f=fopen($filename,'w');
    $num=1;
    }
    fputs($f,$num);
    echo '你是第'.$num.'个访问该页面的人';
    fclose($f);
      

  4.   

    没有啊,左键单击一次啊,我也不能次次双击刷新啊
    就是偶数或者奇数奇数的增加。
    还有一事想问,怎么才能让EclipsePHP Studio 3可以支持中文命名。
    我用的是中文版,但是文件夹或者文件名中含有汉字就会报错,起个英文名就好使了。
      

  5.   

    文件可以不用,但文件夹一般还是喜欢汉字
    请乔丹移步:http://bbs.csdn.net/topics/390432008