コードをコピー コードは次のとおりです:
$fp = fopen('d:/file.txt', 'r ') ;
if ($fp) {
$i = 1;
while (!feof($fp)) {
//データの 2 行目を変更します
if ($i = = 2) {
fseek($fp, 2, SEEK_CUR);
break;
fgets($fp); >$i;
}
fclose($fp);
}
ここで注意する必要があるのは、fgets が行を取得した後、ファイル ポインタがしたがって、fwrite は fgets の次の行の先頭で動作します。行のどの文字から書き始めるかについては、fseek 関数を使用して移動できます。ファイルポインタ。もう 1 つ注意すべき点は、ここでの fwrite は挿入操作ではなく置換操作を実行するため、ポインターの後の文字が 1 つずつ置き換えられることです。挿入方法については、まだ勉強していません。難しいと推測されます。効率を高めるために、別の一時ファイルに書き込むことしかできないかもしれません。他に良い方法があるかどうかはわかりません。
コードは次のとおりです: $fp = new SplFileObject('d:/file.txt', 'r ');
//seek メソッドのパラメータは 0 からカウントされます。ポインタが行末を指しているので、3行目を修正しました。$fp->seek(1)
//現在の行の内容を取得します(2行目)
$line = $fp->current();
//以下は 3 行目の操作です
$fp->fseek(2, SEEK_CUR); #');
SplFileObject 提供されるメソッドは、ファイル行を走査するためのキー/値メソッドの使用など、基本的なファイル操作関数よりも豊富です。 SPL は PHP5 に追加する必要があります。他にも便利なオブジェクトがたくさんあります。配列、ファイル ディレクトリ操作、例外処理、いくつかの基本的な型操作などが含まれます。これらのメソッドは、基になる操作の処理をより便利にするために、SPL を継承することでまだ追加されています。