file_get_contents
file
ファイルシステム 関数
PHP Manual

# file_put_contents

(PHP 5)

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

### 説明

int file_put_contents ( string `$filename` , mixed `$data` [, int `$flags` [, resource `$context` ]] )

この関数は、fopen()、fwrite()、 fclose() を続けてコールしてデータをファイルに書き込むのと等価です。

`filename` が存在しない場合はファイルを作成します。 存在する場合はそのファイルを上書きします。ただし `FILE_APPEND` フラグが設定されている場合は別です。

### パラメータ

`filename`

  データを書き込むファイルへのパス。

`data`

  書き込むデータ。文字列, 配列 もしくは ストリーム リソース (上述) のいずれかを指定可能です。

  `data` が ストリーム リソースの場合は、 ストリームのバッファに残っている内容が指定したファイルにコピーされます。 これは、stream_copy_to_stream() の挙動と似ています。

  `data` に一次元の配列を指定することもできます。この場合は file_put_contents($filename, implode('', $array)) と同じ意味になります。

`flags`

  `flags` の値は、以下のフラグを組み合わせたものとなります (組み合わせ方には多少制限があります)。組み合わせる際には、論理 OR (|) 演算子で連結します。

  使用できるフラグ
  フラグ | 説明
  --- | ---
  `FILE_USE_INCLUDE_PATH` | `filename` をインクルードディレクトリから探します。 詳細な情報は include_path を参照ください。
  `FILE_APPEND` | `filename` がすでに存在する場合に、 データをファイルに上書きするするのではなく追記します。
  `LOCK_EX` | 書き込み処理中に、ファイルに対する排他ロックを確保します。
  `FILE_TEXT` | `data` をテキストモードで書き込みます。 unicode が有効な場合、デフォルトのエンコーディングは UTF-8 です。 別のエンコーディングを指定するには、 独自のコンテキストを作成するか、あるいは stream_default_encoding() でデフォルトを変更します。 このフラグは `FILE_BINARY` と同時に使用することはできません。 このフラグは PHP 6 以降でのみ使用可能です。
  `FILE_BINARY` | `data` をバイナリモードで書き込みます。これはデフォルトの設定で、 `FILE_TEXT` と同時に使用することはできません。 このフラグは PHP 6 以降でのみ使用可能です。

`context`

  stream_context_create() で作成したコンテキストリソース。

### 返り値

この関数はファイルに書き込まれたバイト数を返します。 あるいは失敗した場合には `FALSE` を返します。

### 変更履歴

バージョン | 説明
--- | ---
5.0.0 | コンテキストがサポートされるようになりました。
5.1.0 | `LOCK_EX` のサポートが追加され、 `data` パラメータにストリームリソースを指定することが可能になりました。
6.0.0 | `FILE_TEXT` および `FILE_BINARY` がサポートされるようになりました。

### 注意

> 注意: この関数はバイナリデータに対応しています。

ヒント

fopen wrappers が有効の場合、この関数のファイル名として URL を使用することができます。ファイル名の指定方法に関する詳細は fopen()、サポートされる URL プロトコルの種類 については、(例えば)サポートされるプロトコル/ラッパー を参照してください。

### 参考

- fopen()
- fwrite()
- file_get_contents()
- stream_context_create()

file_get_contents
file
ファイルシステム 関数
PHP Manual