我在使用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
$common_q_line_nums
排序数组包含文本文件中行数范围内的数字。
知道为什么我什么也得不回来?该文件打开正常,$common_q_line_nums
很好。
赞赏,Alex
答案 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)