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