関数の概要
file_put_contents は、PHPで指定したファイルにデータを書き込むための便利な関数です。ファイルが存在しない場合は新しく作成され、既に存在する場合は上書きされます。この関数を使うことで、ファイル操作を簡単に実装でき、テキストデータやバイナリデータの保存に活用されます。
パラメータの説明
filename(必須):書き込み対象のファイルパスを文字列で指定します。data(必須):ファイルに書き込むデータ。文字列、配列、あるいはストリームリソースを指定可能です。flags(任意):書き込みモードを設定します。FILE_USE_INCLUDE_PATHやFILE_APPENDなどのフラグを組み合わせられます。context(任意):ストリームコンテキストリソースを指定して、詳細な入出力制御が可能です。
戻り値
成功すると、書き込まれたバイト数を整数で返します。失敗すると false を返すため、書き込みが正しく行われたかどうかを確認する際に利用します。
使用例
基本的な使い方
<?php
file_put_contents('example.txt', "こんにちは、PHPの世界!n");
echo "書き込み完了";
?>
この例では、カレントディレクトリに example.txt というファイルを新規作成し、指定した文字列を書き込みます。ファイルが既にあれば上書きされます。
ファイルに追記する方法
<?php
file_put_contents('example.txt', "2行目の内容n", FILE_APPEND);
?>
FILE_APPEND フラグを指定すると、既存のファイル内容に追記(追加)できます。ログファイルなどでよく使われる方法です。
配列のデータを書き込む
<?php
$data = ["りんご", "みかん", "ばなな"];
file_put_contents('fruits.txt', implode(", ", $data));
?>
配列データは直接書き込めないため、一旦文字列に変換してから渡します。ここでは implode でカンマ区切りの文字列にして保存しています。
バイナリデータの保存
<?php
$imageData = file_get_contents('image.jpg');
file_put_contents('copy_image.jpg', $imageData);
?>
バイナリデータ(画像など)を読み込んで別のファイルに保存する例です。テキストだけでなく、あらゆるデータの書き込みに対応しています。
関連する関数
fopen– ファイルを開くfwrite– 開いたファイルに書き込むfile_get_contents– ファイルから内容を読み込むunlink– ファイルを削除する
まとめ
file_put_contents はPHPでファイルにデータを書き込む際に非常に便利で使いやすい関数です。初心者でも簡単に利用でき、ファイルの新規作成や上書き、追記まで幅広い用途に対応しています。実務でもログ保存や設定ファイルの作成など、多様な場面で役立つため、ぜひ基本的な使い方をしっかり押さえておきましょう。
