我正在尝试使用SplFileObject()逐行编辑文件。我可以选择要编辑的文件行。但是,如何将$ string写入该行呢?
以下是获取该行的代码:
<?php
$file = new SplFileObject('myfile.txt');
$file->seek(9999); // Seek to line no. 10,000
echo $file->current(); // Print contents of that line
?>
如何在该行上插入字符串?
注意,我不想覆盖该文件,我只想在给定的行中插入$ string。
答案 0 :(得分:1)
这不是最佳解决方案,因为它会读取整个文件并将其存储在字符串中。但由于没有其他答案,您可以将其用作最后一个资源。
$ouput = '';
$file = new SplFileObject("your_file.xxx", 'r');
while (!$file->eof()) {
$line = $file->fgets();
if($line == 'your_condition'){
$line = 'replace this line';
}
$output .= $line;
}
$file = null;
$file = new SplFileObject("your_file.xxx", 'w+');
$file->fwrite($output);