PHPのfile_put_contents()関数を使用しファイルを書き込む

PHPのfile_put_contents()関数を使用しファイルを書き込んでみます。

file_put_contents()関数を使用することで、ファイルにデータ,文字列を書き込むことができます。

また、file_put_contents()関数は、ファイルを開かなくてもファイルにデータ,文字列を書き込むことができます。

■基本的な構文

file_put_contents(filename, data, mode, context)

fileは、データを書き込む先のファイルのパスを指定します。もしファイルが存在しない・用意されていない場合は、この関数が自動的にファイルを作成します。

dataは、ファイルに書き込むデータを指定します。

modeは、ファイルの開き方や書き込み方を指定します。オプションです。

contextは、ファイルハンドル(どのファイルを処理しているかを管理するための名前)のコンテキストを指定します。オプションです。

■環境

・Windows10

・WampServer Version 3.2.3 64bit

・PHP Version 7.3.21

■file_put_contents()関数を使用しファイルを書き込む

では、早速file_put_contents()関数を使用しファイルを書き込んでみます。

■コード

<html lang="ja">
<head>
<title>file_put_contents()関数を使用しファイルを書き込む</title>
</head>
<body>
<?php
$file = "C:/wamp64/www/project/test.txt";

$data = "今日は快晴です。お出かけしたくなります。";

file_put_contents($file, $data) or die("エラー:ファイルの書き込みができません。");

echo"ファイルへのデータ書き込みが成功しました";
?>
</body>
</html>

今回はfileという変数を宣言し、その中でtest.txtというファイルを指定し格納します。

次にdataという変数を宣言し、その中にファイルへのデータを書き込みますので、データとして、今回は日本語の文字列を格納します。

格納後、file_put_contents()関数を使用し、file変数内のファイルを指定します。これで書き込みが行われます。fopen()関数のように、ファイルを開く必要はありません。さらにファイルへデータを書き込む際にdie()関数でエラーが発生した場合の処理を指定します。

最後に、echo文を使用し、ファイルへのデータ書き込みが成功したことを出力します。

なお、test.txtというファイルの中身を開きデータを書き込みますが、今回はあらかじめ空のテキストファイルを用意しています。

今回はファイルを用意しましたが、ファイルが既に存在する・用意されている場合、PHPはデフォルトでそのファイルを上書きします。つまり、ファイル内にデータが存在する場合は上書きされてしまうため、消去となりますので、ご注意ください。

■実行

では、このスクリプトを「write_to_file_2.php」という名前で保存し、実行させてみます。

実行させてみると、「ファイルへのデータ書き込みが成功しました」と出力されました。

出力された後に、空だったテキストファイルを確認すると、file_put_contents()関数を使用したことで、データ(日本語の文字列)が書き込まれていることが確認できました。

コメント

タイトルとURLをコピーしました