{category}

PHP - ファイル読み書き

file_put_contents()

ファイル プット コンテンツ(ファイルとI/O操作

意味 ファイルにデータを書き込む


file_put_contents()とは?

file_put_contents()は、指定したファイルにデータを書き込む関数です。ファイルが存在しない場合は新しく作成します。既存のファイルの場合、デフォルトでは上書きされますが、オプションで追記モードも選択できます。

file_put_contents()の具体的な使い方

ファイルに新しい内容を書き込む

<?php
$filename = 'newfile.txt';
$content = "これは新しいファイルの内容です。\n複数行の文字列を書き込むことができます。";

$bytes_written = file_put_contents($filename, $content);

if ($bytes_written !== false) {
    echo "$filename に $bytes_written バイトを書き込みました。\n";
    echo "ファイルの内容:\n" . file_get_contents($filename);
} else {
    echo "$filename への書き込みに失敗しました。";
}

👇出力結果

newfile.txt に 66 バイトを書き込みました。
ファイルの内容:
これは新しいファイルの内容です。
複数行の文字列を書き込むことができます。

この例では、'newfile.txt'という新しいファイルを作成し、指定した内容を書き込んでいます。書き込みに成功した場合、書き込んだバイト数とファイルの内容を表示します。

既存のファイルに内容を追記する

<?php
$filename = 'logfile.txt';
$new_log = date('Y-m-d H:i:s') . " - 新しいログエントリー\n";

$bytes_written = file_put_contents($filename, $new_log, FILE_APPEND);

if ($bytes_written !== false) {
    echo "$filename に $bytes_written バイトを追記しました。\n";
    echo "更新されたファイルの内容:\n" . file_get_contents($filename);
} else {
    echo "$filename への追記に失敗しました。";
}

👇出力結果

logfile.txt に 38 バイトを追記しました。
更新されたファイルの内容:
2023-05-19 10:30:15 - 以前のログエントリー
2023-05-20 15:45:30 - 新しいログエントリー

この例では、'logfile.txt'というファイルに新しいログエントリーを追記しています。FILE_APPENDフラグを使用することで、既存の内容を上書きせずに追記することができます。

file_put_contents()に関するよくある質問

Q. 既存ファイルへの書き込み方は?
A. デフォルトでは、file_put_contents()は既存のファイルを上書きします。既存の内容に追記したい場合は、FILE_APPENDフラグを使用します。例: file_put_contents('file.txt', $data, FILE_APPEND);
Q. ファイルのパーミッションは?
A. file_put_contents()で新しくファイルを作成する場合、デフォルトのファイルパーミッションが適用されます。これはPHPの設定(umask)に依存します。特定のパーミッションを設定したい場合は、書き込み後にchmod()関数を使用してください。
Q. 書き込みに失敗した場合の対処は?
A. file_put_contents()が失敗すると、falseを返します。エラーの詳細を知るには、error_get_last()関数を使用できます。また、書き込み権限があることを確認し、ディスク容量が十分であることを確認してください。

PHPのfile_put_contents()についても学べる書籍の紹介

「プログラミング単語帳」を使って、プログラミングの単語を英単語のように学習してみませんか?
プログラミング単語帳には、PHPのfile_put_contents()やcopy()、move_uploaded_file()、fwrite()、などのような実務でよく使われる単語が数百以上収録されています。
この書籍には、プログラミングの単語の意味や読み方、単語の使い方がわかる例文などが掲載されており、いつでもどこでもプログラミングの学習ができます。

よく使われる単語にだけ絞って学習することができるので、効率的にプログラミングが学習できます。

1日5分の暗記でプログラミンが身に付く!プログラミング単語帳 公式ストアで発売中!

HTML編、CSS編、JavaScript編、PHP編、Ruby編、その他単語編の6シリーズ分が公式ストアにて販売中です。気になった方はぜひ購入してみてください。


PHPを学べる「プログラミング単語帳」アプリ

プログラミング単語帳がアプリになりました!PHPはもちろん、10種類のプログラミング言語の中から、よく使われる単語をスマホで学習できます。

収録単語は2,000単語以上!
現在は、HTML、CSS、JavaScirpt、PHP、Laravel、Ruby、Python、MySQL、Linux、など10カテゴリーの単語帳が1つのアプリに収録されています。

いつでも、どこでも、隙間時間を有効活用して、プログラミングを効率的に学べるので、ぜひダウンロードしてみてください。

2024年7月アップデート情報:「Laravel」カテゴリーが追加されましました!

2024年8月アップデート情報:「MySQL」「Linux」カテゴリーが追加されましました!


関連するそのほかの単語

copy()

ファイルのコピー

種類: ファイル操作

move_uploaded_file()

アップロードファイルの移動

種類: ファイルアップロード

fwrite()

ファイルにデータを書き込む

種類: ファイル読み書き

debug_backtrace()

コールスタックを取得する関数

種類: デバッグ

__get()

未定義プロパティの取得

種類: マジックメソッド