PHP:所选行的fopen()文件指针

时间:2011-01-18 13:41:06

标签: php fopen

当用fopen()打开文件时,如何将文件指针放在选择的行中(例如从底部看1个石灰)?

4 个答案:

答案 0 :(得分:4)

如果您知道所需数据文件中的偏移量,您可以始终fseek ()。当然问题是发现你需要在文件中找到的地方。如果您可以使用SEEK_END作为选项,则偏移量将相对于文件末尾而不是开头,这可能对您有所帮助。

或者,您可以使用file ()函数将文件数据加载到数组中。数组中的每个元素代表一行文件,因此数组中倒数第二个元素将是您想要的项目。

答案 1 :(得分:1)

您可能必须阅读文件计数行结尾“\ n”。类似的东西:

function fseek_line($handle, $count) {
  while ((--$count > 0) && (fgets($handle, 4096) !== false)) { }
}

如果您需要在追加模式fopen("file.txt", "a");

中打开最后一行

答案 2 :(得分:1)

有一个SplFileObject :: seek方法可以将指针定位到第N行。

答案 3 :(得分:0)

不幸的是,这并不容易。由于文件不是按行存储的,因此无法跳过一行或几行。

但请查看此主题:fseek() by line, not bytes?