<?php
$page=fopen("data.txt","r");
while(!feof($page)){

$line = fgets($page, 255);
ereg("a",$line,$match);
echo $match[0]."<br>";
}
?>
——————
|data.txt|    a
——————
为什么输出是:
a
a
而不是
a
<?php
$page=fopen("data.txt","r");

$line = fgets($page, 255);
ereg("a",$line,$match);
echo $match[0]."<br>";
?>
输出就是一个a

解决方案 »

  1.   

    fgets -- Gets line from file pointer 获得一行
    feof -- Tests for end-of-file on a file pointer 是否到文件尾巴
    ereg -- 正则匹配如果data.txt是如下的样子:abb
    acc那么feof就是判断是否到文件尾。你可以想象有个指针的东西,你fgets一次,指针就移到下一行。而feof就是判断指针是不是已经指到最后一行的末尾了。。这里是acc因此你第一个是把整个文件都读完了,输出2个
    而第一个只读一行,肯定只输出一个了
      

  2.   

    不好意思,上面最后一行笔误,第二个由于没有while进行循环读取,只输出一个