如何判断PHP中当前"on"文件资源的哪一行?

sta*_*zel 0 php fopen file line

使用PHP,可以使用fopen和读取文件的内容fgets.每次fgets调用时,它都会返回文件中的下一行.

怎么fgets 知道读什么行?换句话说,它如何知道它最后读取第5行,所以它应该这次返回第6行的内容?我有办法访问该行号数据吗?

(我知道可以通过将文件的全部内容读入数组来做类似的事情file,但是我想用它完成这个fopen.)

Pas*_*TIN 6

每个打开的文件都在内存中保留一个"位置"; 每次从文件中读取行/字符/任何内容时,它都会自动更新.

你可以得到这个位置ftell,并与修改fseek:

ftell - 返回文件读/写指针的当前位置

fseek - 寻找文件指针

您还可以使用带来...倒回...指针的位置.


这是不是让你的位置的行号,而是更接近于一个位置的字符数(实际上,你所得到的位置许多从文件的开头字节) ; 当你有这个时,读一行只是一个读字符的元素直到你遇到一个行尾字符.


BTW:据我记忆,这些函数来自C语言 - PHP本身是用C语言编写的;-)