我有这样的事情:
//line1 1321 precalculus 30 0
//line2 1244 accounting 30 0
在常见的文本文件中。
如何将第1行的30
号码更改为29
,将0
更改为1
等。
答案 0 :(得分:0)
对于最简单的情况,例如您描述的情况,假设您知道要更改的行以及您希望更改的内容,则可以使用:
// Get text file contents as array of lines
$txt = file('text.txt');
// Make the change to line 1
$txt[0] = "1321 precalculus 29 1";
// Put the lines back together, and write back into txt file
file_put_contents('text.txt', implode("\n", $txt));
根据您真正想要做的事情,这可能无效。基本上它只是逐行拆分文本文件,然后用新数据覆盖第1行,然后将整个文本重写回文本文件。同样,根据您的文件大小以及您真正想要完成的内容,这可能不是最佳解决方案。但它确实做了你所描述的,可能是一个很好的起点。
更新正如Jorg的评论所指出的那样,不需要分两步扩展文件内容,因为file()
将在一个步骤中完成相同的任务。