从PHP中读取文件中的行

时间:2011-07-14 20:44:43

标签: php

我在使用PHP中的文本文件中读取行时遇到问题。

我有这段代码:

$a_path = "./data/answers.txt";

    $answers = fopen($a_path);

    $line_num = 1;

    while ($line = fgets($answers))
    {
        for ($i = 0; $i < count($common_q_line_nums); $i++)
        {
            if ($line_num == (int)$common_q_line_nums[$i])
            {
                echo $line;
            }
        }
        $line_num++;
    }

我使用的是Macintosh,但是我使用auto_detect_line_endings = On

更新了php.ini文件

$common_q_line_nums排序数组包含文本文件中行数范围内的数字。

知道为什么我什么也得不回来?该文件打开正常,$common_q_line_nums很好。

赞赏,Alex

2 个答案:

答案 0 :(得分:4)

我在这里注意到几个问题。

首先是这一行:

 $answers = fopen($a_path);

fopen缺少mode参数。它应该是:

$answers = fopen($a_path, 'r');

<击> 接下来,我不确定这是否是一个问题,但可能是。改变这个:

while($line = fgets($answers))

为:

while(($line = fgets($answers)) !== FALSE)

<击>

答案 1 :(得分:2)

这个更好

$lines = file("data/answers.txt"); // each line in one array index ($lines[0], $lines[1] etc)