修正方法: 1. "fopen($file,'r ')" ステートメントを使用して、指定されたファイルを読み取り/書き込みモードで開きます; 2. while() ループと fgets() 関数を使用して、行数を制御する; 3. fgets() が指定されたデータ行を読み取るとき、fseek() 関数と fwrite() 関数を使用してこの行のデータを変更します。
このチュートリアルの動作環境: Windows7 システム、PHP7.1 バージョン、DELL G3 コンピューター
php modify a file 1 行のデータに対するメソッド
指定されたファイルを読み取りおよび書き込みモードで開きます
Use while( ) ループ fgets() 行数を制御する関数
fgets() 関数はファイルを 1 行ずつ読み取り、一度に 1 行のデータを読み取ることができます
行数を指定する場合は、fseek() を使用します。fwrite() 関数は、この行のデータを変更します。
#実装コード:
<?php $file = "test.txt"; $fp = fopen($file, 'r+'); if ($fp) { $i = 1; while (!feof($fp)) { //修改第二行数据 if ($i == 2) { fseek($fp, 0, SEEK_CUR); fwrite($fp, 'HELLO'); break; } fgets($fp); $i++; } fclose($fp); } ?>
##変更内容:
説明:
feof() 関数は、ファイルの終わり (EOF) に到達したかどうかをチェックします。エラーが発生した場合、またはファイル ポインタがファイルの終わり (EOF) に達した場合は TRUE を返し、それ以外の場合は FALSE を返します。
fseek() 関数は、開いているファイル内にあります。この関数は、ファイル ポインタを現在の位置から新しい位置に前後に移動します (ファイルの先頭からバイト単位で測定)。この関数は成功すると 0 を返し、失敗すると -1 を返します。ファイルの終わり (EOF) 以降の位置に移動してもエラーは発生しないことに注意してください。
fwrite() 関数は文字列をファイルに書き込むことができます。
推奨学習: 「
PHP ビデオ チュートリアル以上がPHPでファイルの特定の行のデータを変更する方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。