4

SplFileObject() を使用してファイルを 1 行ずつ編集しようとしています。編集したいファイルの行を選択できます。しかし、その行に $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 に答える