※こちらの記事は、プロスタ編集部が学習者の多いPHPの文法記事を公開することで、皆様の学習にお役に立ちたい意図で投稿しております。
参考サイト:【PHP入門】ファイルへの書き込みをする方法 – file_put_contents関数
#【PHP入門】ファイルへの書き込みをする方法 – file_put_contents関数
PHPの関数 file_put_contents()を使って、ファイルに文字列データを書き込む方法をご紹介します。
##ファイルに文字列を書き込む
PHPでは、file_put_contents()を使えばファイルに情報を簡単に書き込むことができます。この関数は、fopen()、fwrite()、 fclose()を続けて実行してデータをファイルに書き込む動作を一回で行えます。
file_put_contents()を使うときは、データを書き込むファイル名とファイルに書き込むデータを指定します。ファイルが存在しない場合は、新しくファイルを生成しますが、すでにファイルが存在する場合は上書きします。ただし、フラグが設定されている場合は別です。
実行に成功した場合は、ファイルへ書き込まれたバイト数が返されます。実行に失敗した場合は、「false」が返されます。
file_put_contents(ファイル名,書き込むデータ,フラグ);
例1)sample.txtというファイルに「HELLO WORLD」という文字列を書き込む
<?php
file_put_contents("sample.txt", "HELLO WORLD");
?>
これにより、自動的にsample.txtというファイルが作成されて、「HELLO WORLD」という文字列が書き込まれました。
ファイルに追記する
file_put_contents()では、フラグを指定することでオプションを設定することができます。
フラグは以下の3つです。 複数のフラグを指定する場合は論理演算子「 | 」を使います。
・FILE_USE_INCLUDE_PATH
ファイルをインクルードディレクトリから探します
・FILE_APPEND
既存ファイルへ追加で書き込みをします
・LOCK_EX
書き込み中にファイルをロックをして、他の人からの書き込みができなくします
例2)既存ファイルに追記する
<?php
file_put_contents("sample.txt", "HELLO WORLD2", FILE_APPEND);
?>
フラグにFILE_APPENDを指定することで、ファイルの上書きではなく追記ができるようになります。例1)と例2)のコードにより、sample.txtには「HELLO WORLD」と「HELLO WORLD2」という文字列が書き込まれました。