我想从文件末尾寻找第10行并写一些数据
我尝试了$file->fseek(-10, SEEK_END);
,但它没有寻找只有字节
$file = new SplFileObject('file.txt');
$file->seek(99);//this seeks to line 99 but I was wondering if there is a way to make it seek from end
$file->fwrite('hi there');
有人可以帮助我吗?
答案 0 :(得分:0)
$file = new SplFileObject('file.txt');
$numLines = count(file('file.txt'));
$file->seek($numLines - 10);
$file->fwrite('hi there');
此代码可以让您接近所追求的目标。第二行计算文件中的行数,然后用于查找插入seek()的正确值。
我建议添加一些检查,你最终不会将负值传递给seek()。