【PHP8.x】file_put_contents関数の使い方

作成日: 更新日:

file_put_contents関数は、ファイルに文字列を書き込む関数です。この関数は、指定されたファイルパスにデータを書き込む処理を簡単に行うことができます。ファイルが存在しない場合は新規に作成し、存在する場合は上書きまたは追記を行います。

具体的には、第一引数に書き込むファイルのパスを指定します。第二引数には、書き込むデータ(文字列、配列、またはストリームリソース)を指定します。第三引数には、オプションのフラグを指定できます。

フラグには、FILE_USE_INCLUDE_PATH(include pathからファイルを探す)、FILE_APPEND(ファイルに追記する)、LOCK_EX(排他的ロックを取得する)などがあります。FILE_APPENDフラグを指定すると、ファイルの内容を上書きせずに末尾に追記できます。LOCK_EXフラグは、書き込み中に他のプロセスがファイルにアクセスするのを防ぎ、データの整合性を保ちます。

また、コンテキストを指定することも可能です。コンテキストは、ストリームの動作をカスタマイズするためのオプションを提供します。例えば、HTTPストリームを使用する際に、タイムアウトやヘッダー情報を設定することができます。

file_put_contents関数は、書き込んだバイト数を返すか、エラーが発生した場合はFALSEを返します。ファイルへの書き込み権限がない場合や、ディスク容量が不足している場合などにエラーが発生する可能性があります。エラーが発生した場合は、返り値をチェックして適切なエラー処理を行うことが重要です。この関数は、ログファイルの書き込みや設定ファイルの保存など、様々な場面で利用されます。

基本的な使い方

構文(syntax)

file_put_contents ( string $filename , mixed $data , int $flags = 0 , resource $context = null ) : int|false

引数(parameters)

string $filename, mixed $data, int $flags = 0, $context = null

  • string $filename: 書き込み先のファイル名を指定する文字列
  • mixed $data: ファイルに書き込むデータ。文字列、配列、ストリームなどが指定できます。
  • int $flags = 0: ファイルへの書き込み方法を指定するフラグ。例えば、FILE_APPEND(追記)やLOCK_EX(排他ロック)などがあります。
  • $context = null: ストリームコンテキストを指定します。通常はNULLを指定します。

戻り値(return)

int|false

書き込まれたバイト数を返します。書き込みに失敗した場合は false を返します。

【PHP8.x】file_put_contents関数の使い方 | いっしー@Webエンジニア