UI設計したり、ウェブシステムを開発したりします。 

SQL見るだけクエリ#044 PHPのfile_put_contents関数を使って、文字列をファイルに書き込む方法

記入日:2023-02-21 編集日:2023-02-21

SQL見るだけクエリ。今回はPHPの機能ですが、file_put_contents関数を使って、文字列をファイルに書き込む方法を考えてみようと思います。

この記事を読むと(約5分)
データベースを使わずに、ファイルに文字列を保存する方法をイメージできるようになります。

file_put_contents関数とは

file_put_contents関数は、fopen()→fwrite()→fcloseを実行するのと同じで、
比較的容易に使用することができます。

 

例えば、次のコードは「テキストファイルに書き込みます。」という文字列をtest.txtというファイルに書き込みます。

file_put_contents("test.txt", "テキストファイルに書き込みます。");

file_put_contents関数では、
filenameが存在する場合はそのファイルを上書きします。
ただし、FILE_APPENDフラグが設定されている場合は、ファイルの末尾にデータを追加します。

 

例えば、次のコードは、test.txtというファイルに「テキストファイルに書き込みます。」という文字列を上書きしますが、

file_put_contents("test.txt", "テキストファイルに書き込みます。");

次のコードは、test.txtというファイルに「テキストファイルに追記します。」という文字列を追加します。

file_put_contents("test.txt", "テキストファイルに追記します。", FILE_APPEND);
 

file_put_contents関数には、上記のようなオプションがいくつか用意されています。

- FILE_USE_INCLUDE_PATH : filename をインクルードディレクトリから探します。
- LOCK_EX : ファイルを排他的にロックします。
- FILE_BINARY : バイナリモードで書き込みます。
- FILE_TEXT : テキストモードで書き込みます。
- FILE_APPEND : ファイルに追記します。

これらのオプションを、第3引数に指定する事ができ、

例えば、次のコードは、インクルードディレクトリからtest.txtというファイルを探して、
バイナリモードで「テキストファイルに追記します。」という文字列を追記する処理になります。

file_put_contents("test.txt", "テキストファイルに追記します。", FILE_USE_INCLUDE_PATH | FILE_APPEND | FILE_BINARY);
 

file_put_contents関数を使ったコード例

// まず、ファイルに書き込む文字列を用意します。
$str = "テキストファイルに書き込みます。";

// 次に、ファイル名を指定します。
$filename = "test.txt";

// 最後に、この関数を使って、文字列をファイルに書き込みます。
file_put_contents($filename, $str);

// もし、ファイルに追記したい場合は、FILE_APPENDフラグを指定します。
// file_put_contents($filename, $str, FILE_APPEND);

SQLの使いどころ

サイトに大量の情報を掲載することは、ユーザーにとってとても便利なことです。しかし、情報が多すぎると、目的の情報を見つけるのが困難になります。そのため、SQLを使用することで、情報を効率的に管理することができます。

SQLを使用することで、データベース内の情報を検索したり、フィルタリングしたりすることができます。これにより、ユーザーは目的の情報をスムーズかつ簡単に見つけることができます。

また、SQLを使用することで、データを集計したり、統合したりすることもできます。これにより、ユーザーはさまざまな視点から情報を分析することができます。つまり、サイトに多くの情報を掲載することが重要である一方で、その情報を効率的かつ簡単に管理することが求められる場合には、SQLが不可欠であるといえます。

KK

機械工学を専攻。工業デザイナーとして、国内及び海外の自動車・搬送ラインの設計などに従事した後、2003年にウェブシステム会社を設立。UI設計やウェブシステムの開発、DX化のディレクションなどを行っています。