4

我正在尝试使用 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。

4

1 回答 1

2

这可能不是最好的解决方案,因为它会读取整个文件并将其存储在字符串中。但由于没有其他答案,您可以将其用作您的最后一个资源。

$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);
于 2014-05-15T09:44:30.203 回答