使用PHP,可以使用fopen
和读取文件的内容fgets
.每次fgets
调用时,它都会返回文件中的下一行.
怎么fgets
知道读什么行?换句话说,它如何知道它最后读取第5行,所以它应该这次返回第6行的内容?我有办法访问该行号数据吗?
(我知道可以通过将文件的全部内容读入数组来做类似的事情file
,但是我想用它完成这个fopen
.)
每个打开的文件都在内存中保留一个"位置"; 每次从文件中读取行/字符/任何内容时,它都会自动更新.
你可以得到这个位置ftell
,并与修改fseek
:
ftell - 返回文件读/写指针的当前位置
fseek - 寻找文件指针
您还可以使用倒带来...倒回...指针的位置.
这是不是让你的位置的行号,而是更接近于一个位置的字符数(实际上,你所得到的位置许多从文件的开头字节) ; 当你有这个时,读一行只是一个读字符的元素直到你遇到一个行尾字符.
BTW:据我记忆,这些函数来自C语言 - PHP本身是用C语言编写的;-)