<?
$file="test.txt";
$file_array=file($file);
$file_line_num=count($file_array);
echo $file_line_num;
?>

解决方案 »

  1.   

    <?php
    $filename = "count.txt";
    $fp = fopen($filename,"r");
    $r = 0;
    while(fgets($fp,4096)) $r++;
    fclose($fp);
    echo "共 $r 行";
    ?>
      

  2.   

    <?
    $file="test.txt";
    $file_array=file($file);
    $file_line_num=count($file_array);
    echo $file_line_num;
    ?>
    这个应该是对的
      

  3.   

    xuzuning(唠叨) 的方法事实上有点危险的, 如果一行超过4096, 就会出错了. 
    解决方法:
    1.改到一个更变态的数字.
    2.升级到PHP 4.3以上, 并把长度length这个参数略去. (强烈建议这种^^)
      

  4.   

    <?
    $file="test.txt";
    $file_array=file($file);
    $file_line_num=count($file_array);
    echo $file_line_num;
    ?>
    也推荐这个
      

  5.   

    我一般用这个
    $file="test.txt";
    $file_content=file($file);
    $i=0
    while($file_content[$i])
    {
     $i++;
    }$i就是行数,可能比较土,主要是为了直接对每一行的元素操作
      

  6.   

    LeeMaRS(我不是情圣啊!555....) :呵呵,有道理,学习中...
      

  7.   

    4096相当于2000个汉字。16开书籍的3页,还不断行?这位老兄也真可以了...
    不使用file函数的原因是:他需要将文件全部读入内存,当文件较大时会引起内存溢出。
      

  8.   

    同意xuzuning(唠叨)
    标准c里面也是这样读取文件的
      

  9.   

    <?php
        $fp=@fopen("/data/12345","r");
    $a=0;
            while ($array= fgetcsv($fp,100," ")){$a+=1;}
    echo $a;
    ?>
      

  10.   

    <?
    $file="test.txt";
    $file_array=file($file);
    $file_line_num=count($file_array);
    echo $file_line_num;
    ?>
    这种用法浪费内存。还是用这种比较好
    <?php
    $filename = "count.txt";
    $fp = fopen($filename,"r");
    $r = 0;
    while(fgets($fp)) $r++;
    fclose($fp);
    echo "共 $r 行";
    ?>