関数・クラス解説
file_put_contents
version:PHP 5, PHP 7 (公式)データをファイルに書き込む
公式リファレンス
書式
file_put_contents ( string $filename , mixed $data [, int $flags = 0 [, resource $context ]] ) : int
説明
この関数は、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 書き込み処理中に、ファイルに対する排他ロックを確保します。 つまり、fopen() の呼び出しから fwrite() の呼び出しまでの間に flock() の呼び出しが発生するということです。 これは、モード "x" で fopen() を呼び出すことと同等ではありません。 - context
- stream_context_create() で作成したコンテキストリソース。
返値
この関数はファイルに書き込まれたバイト数を返します。 あるいは失敗した場合には FALSE を返します。 警告この関数は論理値FALSE を返す可能性がありますが、FALSE として評価される値を返す可能性もあります。詳細については 論理値のセクションを参照してください。この関数の返り値を調べるには===演算子 を使用してください。
注意
注意: この関数はバイナリデータに対応しています。ヒントfopen wrappers が有効の場合、この関数のファイル名としてURL を使用することができます。ファイル名の指定方法に関する詳細はfopen() を参照ください。サポートするプロトコル/ラッパー には、さまざまなラッパーの機能やその使用法、提供される定義済み変数などの情報がまとめられています。警告この関数は論理値FALSE を返す可能性がありますが、FALSE として評価される値を返す可能性もあります。詳細については 論理値のセクションを参照してください。この関数の返り値を調べるには===演算子 を使用してください。
サンプル
例1 シンプルな使用例
$file = 'people.txt';
// ファイルをオープンして既存のコンテンツを取得します
$current = file_get_contents($file);
// 新しい人物をファイルに追加します
$current .= "John Smith\n";
// 結果をファイルに書き出します
file_put_contents($file, $current);
例2 フラグの使用
$file = 'people.txt';
// 新しい人物をファイルに追加します
$person = "John Smith\n";
// 中身をファイルに書き出します。
// FILE_APPEND フラグはファイルの最後に追記することを表し、
// LOCK_EX フラグは他の人が同時にファイルに書き込めないことを表します。
file_put_contents($file, $person, FILE_APPEND | LOCK_EX);
参考
ワード検索
※入力キーワードが、関数名・説明文・タグに含まれるものを検索関数名アルファベット別
最終更新一覧
●stristr
大文字小文字を区別せず文字列を検索し、ヒット箇所以降(あるいは以前)の文字列を返却
●stripslashes
バックスラッシュでエスケープされた文字列から、バックスラッシュを取り除く
●stripos
大文字小文字を区別せずに文字列が最初に現れる位置を取得する
●stripcslashes
addcslashes() でクォートされた文字列をアンクォートする
●strip_tags
文字列から HTML と PHP のタグを除去して返却
●strcspn
指定した文字が最初に現れる位置を調べる
●strcoll
ロケールに基づいて2つの文字列を比較し同じか(あるいは大小)を判定する
●strcmp
2つの文字列を比較し同じか(あるいは大小)を判定する
●strchr
strstr() のエイリアス
●strcasecmp
2つの文字列を比較(大文字小文字を区別せず同じとみなす)
カテゴリー一覧
PHP の振る舞いの変更
音声フォーマットの操作
認証サービス
コマンドライン関連
圧縮およびアーカイブ
暗号
データベース関連
日付および時刻関連
ファイルシステム
自然言語および文字エンコーディング
画像処理および作成
メール関連
数学
テキスト以外の MIME 型
プロセス制御
その他の基本モジュール
その他のサービス
検索エンジン用の拡張モジュール
サーバー固有のモジュール
セッション関連
テキスト処理
変数・データ型関連
ウェブサービス
Windows 用のモジュール
XML 操作
GUI用の拡張モジュール