ホームページ >バックエンド開発 >PHPチュートリアル >PHP チュートリアル: PHP を使用してファイルの内容を追加する方法
Web サイトを作成すると、通常、データはデータベースに保存されます。ただし、後で簡単に読み取ったり変更したりできるように、データをファイルに保存する必要がある場合があります。
PHP には、ファイルからデータを読み書きするための関数が多数付属しています。それらの一部を使用して、ファイルにデータを追加することもできます。このチュートリアルでは、PHP を使用してファイルにデータを追加する 2 つの異なる方法を学習します。
関数を理解する
: データを書き込むファイルの場所へのパス。
: ファイルに書き込むデータを指定します。通常は文字列ですが、配列またはストリーム リソースを指定することもできます。この関数は、データをファイルに書き込むために、
implode() を使用して 1 次元配列の内容を自動的に内部分解します。
:
file_put_contents() の動作を制御します。ここでは 3 つの異なるフラグを個別に、または他のフラグと組み合わせて設定できます。
| 演算子を使用して、さまざまなフラグを組み合わせることができます。
: ストリーム内のコンテンツを読み取ったりアクセスしたりするときに、追加データを PHP に提供する場合にのみ役立ちます。
file_put_contents()FILE_APPEND フラグを使用して、ファイルにもともと存在していたデータの末尾にデータを追加する必要があることを PHP に知らせることができます。
特殊なケースでは、複数のスクリプトから同時にデータをファイルに追加することがあります。このような場合、
LOCK_EX
これは、
file_put_contents()
リーリー
上記の例では、カナダに関する情報が含まれる
canada.txt
ファイルがまだ存在しない場合、この関数はファイルを作成することに注意してください。ただし、存在しないディレクトリは作成されません。したがって、ファイルへの書き込みを開始する前に、ファイルが存在するかどうかを確認することをお勧めします。
fwrite()を使用してデータを PHP ファイルに書き込みます
関数を使用して PHP ファイルにデータを書き込むことは、
fopen()fwrite()、および
fclose(順番通りに )###。これは、ファイルを繰り返し開いたり閉じたりすることになるため、同じファイルに対して複数の書き込みを実行すると非効率になる可能性があることを意味します。
この問題を解決する 1 つの方法は、これらの関数を自分で呼び出すことです。書き込み操作の開始時に fopen()
を呼び出すだけです。その後、fwrite()
関数を使用して、内容をファイルに複数回書き込みます。最後に、
を呼び出すだけでファイル ハンドルを閉じることができます。それでは、各ステップについて詳しく説明していきます。
fopen()
この関数は、ファイルを開く方法を PHP に指示するために使用できる 4 つの異なるパラメーターを受け入れます。
filename: 開きたいファイルの名前。
a
または a
メソッドを使用してファイルを開くと、ファイルの内容を読み取ることもできます。
use_include_path
: 指定されたインクルード パス内のファイルも検索するように PHP に指示します。デフォルトは false です。
関数を使用してファイルに情報を追加できます。
fwrite()
resource: これは、
fopen()
string
: ファイルに追加するテキスト。
関数を使用してファイル ハンドルを閉じることができます。
这里是一个示例,向您展示如何使用 fopen()
、fwrite()
和 fclose()
将数据附加到文件。
<?php //open the file $square_file = fopen("squares.txt", "a+"); //write the squares from 1 to 10 for($i = 1; $i <= 10; $i++) { $square = $i*$i; $cube = $square*$i; $line = "Square of $i is: $square.\n"; fwrite($square_file, $line); } //read the first line of the file and echo fseek($square_file, 0); echo fgets($square_file); //close the file fclose($square_file); ?>square.txt的内容
Square of 1 is: 1. Square of 2 is: 4. Square of 3 is: 9. Square of 4 is: 16. Square of 5 is: 25. Square of 6 is: 36. Square of 7 is: 49. Square of 8 is: 64. Square of 9 is: 81. Square of 10 is: 100.
在本例中,我们将数字 1 到 10 的平方写入名为 square.txt 的文件中。我们在 a+
模式下使用 fopen()
函数打开它,这意味着我们还可以从文件中读取内容以及附加我们自己的内容。每次 for 循环迭代时,都会将包含 $i
及其平方的当前值的新行附加到我们的文件中。
有一些函数,例如 fread()
和 fgets()
,您可以使用它们来读取文件中写入的内容。但是,您通常需要使用 fseek()
将文件指针放置在所需位置以按预期读取数据。循环结束后,我们转到文件的开头并使用 fgets()
读取其第一行。
最后,我们通过调用函数 fclose()
关闭文件句柄。
在本教程中,我们学习了使用 PHP 将数据附加到文件的两种不同方法。使用 file_put_contents()
函数可以更方便地将数据写入文件。但是,当您必须对一个文件执行多次写入操作时,使用 fwrite()
会更有效。使用 fopen()
打开文件来附加数据还可以让您选择通过将文件指针移动到所需位置来读取其内容。
以上がPHP チュートリアル: PHP を使用してファイルの内容を追加する方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。