所以我将这样的代码设置为
while(! feof($fn)) {
$result = fgets($fn);
// some code
}
如何制作它,使其忽略文本文件中的最后一行。 我的文本文件已设置好,因此在添加内容时会在后面添加新行。这样做会导致偏移错误,因为最后一行没有输入数据。
我已经尝试过这样做,因此它在数据之前添加了新行,但是随后又产生了另一个错误,因为它将在第一行作为中断处具有偏移量。 (如果需要更多信息,我将编辑问题)
答案 0 :(得分:1)
使用几乎相同的代码,您可以忽略最后一行:
while($result = fgets($fn)) {
if (!feof($fn)) {
// process all lines except the last one
}
}
fgets()
将在无法读取更多行时返回false
,因此它也像一种feof()
一样。
答案 1 :(得分:0)
您可以在代码中添加一个附加条件,以检查读取的内容,如果这是空行,则跳过循环中的其余代码...
$result = fgets($fn);
if ( empty(trim($result)) ) {
continue;
}
这还将解决文件中任意位置的空行。