PHPの関数 file_put_contents()を使って、ファイルに文字列データを書き込む方法をご紹介します。
[no_toc]

ファイルに文字列を書き込む

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」という文字列が書き込まれました。