file_puts_contents関数を理解する!PHPでファイルの書き込みを行う方法【初心者向け】
プログラミング初心者向けにPHPでfile_puts_contens()を使ってファイルの書き込むを行う方法について解説しています。データベースだけでなく、テキストファイルにもデータを書き込むことができるので、ぜひ覚えておきましょう。
TechAcademyマガジンは受講者数No.1のオンラインプログラミングスクールTechAcademy [テックアカデミー]が運営。初心者向けに解説した記事を公開中。現役エンジニアの方はこちらをご覧ください。
この記事ではPHPによるファイル書き込みについて説明していきます。
PHPのデータは、データベースだけでなく、テキストファイルに書き込むこともできるので、ぜひ書き方を覚えておきましょう。
そもそもPHPが何か分からない場合は、先にPHPとはの記事をご覧ください。
なお本記事は、TechAcademyのPHPオンライン講座の内容をもとにしています。
今回の記事の内容は動画でもご覧いただけます。
テキストよりも動画の方が理解しやすいという場合はぜひご覧ください。
ファイルの書き込みとは
プログラムを作成するにあたり、キーボードやディスプレイから入出力することをしてきたと思います。
しかし、プログラムから出力されるデータはディスプレイだけではなく、外部ファイルへの書き込みもできるのです。
ここではファイルへの書き込みについて実際にプログラムを書いて説明していきます。

PHPでファイルを作成したり、書きこんだり出来るんですね。

手動だと、テキストエディタを開く→内容を書く→保存するだよね。それをプログラムで処理できるんだよ。

後で使うデータや、重要なデータは保存して置きたいので便利ですね。

そうだね。では、ファイルの書き込みに使う関数を見てみよう!
ファイル書き込みの書き方
ファイル全体に書き込む
数値 = file_put_contents(ファイル名,文字列)
開いているファイルへ書き込む
文字列 = fwrite(ハンドル)
ハンドルとはファイルを開いて処理するときの管理用のもので、ファイルの位置などを指し示すものです。
[PR] PHPプログラミングで挫折しない学習方法を動画で公開中
実際に書いてみよう
file_put_contents
<?php define("TESTFILE","./TEST.txt"); $s = "上書き"; print_r("file_put_tcontents関数\n"); file_put_contents(TESTFILE,$s); var_dump(file_get_contents(TESTFILE)); ?>
実行結果
$ php 01.php file_put_tcontents関数 string(9) "上書き"
fwrite
<?php define("TESTFILE","./TEST.txt"); $fh = fopen(TESTFILE, "w"); echo "fwrite関数\n"; fwrite($fh,"書き込み"); fclose($fh); var_dump(file_get_contents(TESTFILE)); ?>
実行結果
$ php fwrite.php fwrite関数 string(12) "書き込み"
おわりに
ファイルの書き込みを実行できるようになるとプログラムを終了してもデータを保持することができます。
基本的ですが、とても重宝する機能なのでしっかりとマスターしましょう。

file_put_contents関数は1行でファイルに書き込めていますね。

fwriteだと、ファイルを開くモードを指定してファイルを開き、ファイルハンドルを取得してから書き込まなければならないんだよ。

ちょっと面倒ですね。

そうだね。ファイルに書き込むのは簡単だけど、PHPの場合、ウェブで複数人で使用する場合が多いよね。そうなるとファイルロックが必要になるんだよ。そこで違って来たりするんだよね。
また、PHPを勉強していて、
- もっと効率的に勉強したい
- 誰かに聞きながら学びたい
- 自分でWebサービスを作りたい
と思ったことはないでしょうか。
そんな方のために、TechAcademyではオンラインブートキャンプPHP/Laravelコースを提供しています。
現役エンジニアがパーソナルメンターとして受講生に1人ずつつき、マンツーマンのメンタリングで学習をサポートし、オリジナルWebサービスを開発することが可能です。
独学に限界を感じている場合はご検討ください。