PHP - BASIC - 11. PHPのファイルシステムを扱う関数 - 7. ファイルの書き込み
ファイルの書き込みも fopen 関数、 fwrite 関数、 fclose 関数によって制御できます。
fopen- ファイルまたは URL をオープンするfwrite- バイナリセーフなファイル書き込み処理fclose- オープンされたファイルポインタをクローズする
次のプログラム( fs6.php )を作成してみましょう。
<?php
$names = ["Andy", "Betty"];
$file = "names.txt";
$handle = fopen($file, "w");
foreach($names as $name) {
fwrite($handle, $name . PHP_EOL);
}
fclose($handle);
まずはプログラムを実行してみましょう。
$ php fs6.php
プログラムを実行してもターミナル上には何も表示されないでしょう。その代わりにカレントディレクトリ上に names.txt というファイルが作成されているのがわかるでしょう。
テキストエディタで names.txt ファイルを開いてみましょう。
Andy
Betty
上記のようにプログラムによって出力した2件の名前が確認できるでしょう。
それではプログラムの詳細を見てみましょう。このプログラムは配列 $names に代入されている3人の名前をファイルに書き込むプログラムです。 fopen 関数でファイルを開いていますがアクセス形式に ”w” を指定しています。
$handle = fopen($file, "w");
アクセス形式 ”w” は上書きモードでファイルに書き込みを行います。
アクセス形式に
“a”を指定すると追記モードになります。
その後、プログラムでは foreach 文の中で fwrite 関数を使ってファイルにデータを書き込んでいます。
foreach($names as $name) {
fwrite($handle, $name . PHP_EOL);
}
fwrite 関数は第1引数にファイルポインタ、第2引数にファイルに書き込むデータを指定します。

foreach 文の繰り返し処理を終えた後は fclose 関数でファイルを閉じています。
fclose($handle);
このようにファイルの書き込み処理も fopen 関数、 fwrite 関数、 fclose 関数を組み合わせて制御できます。
まとめ
fopen関数は戻り値にファイルポインタを返すfwrite関数はファイルポインタにデータを書き込むfclose関数でファイルポインタを破棄する
fwrite - バイナリセーフなファイル書き込み処理

- 引数
- ファイルポインタ
- ファイルに書き込むデータ
- 戻り値
- 書き込んだバイト数
- 失敗した場合は
false