検索

キーワード


【PHP】ファイル操作について(ファイルの読み込み、書き込み)

  • 公開日:2020-10-14 18:08:05
  • 最終更新日:2021-02-05 17:56:27

ファイル操作

PHPではファイルの読み込みや、ファイルへの書き込みを行う関数が用意されています。

ここでは、ファイル操作を行うための関数を解説していきます。


fopen

fopen関数とは、ファイルまたはURLをオープンしてくれる関数です。

あるデータからファイルにデータの情報を読み込ませたり、ファイルの内容にデータ情報を書き込みする際など、ファイルを指定して、指定したファイルを開く(持ってくる)ための関数です。

fopen(開きたいファイル名, オープンモード)

オープンモードとは、fopenでファイルを開く際に、どういう様式(モード)でファイルを開くかを指定します。

これを指定することによって、書き込みOKにしたり、読み込みのみなどの形式でファイルを開くことができます。

オープンモードについては公式ドキュメントを参考ください。


fwriteとfclose

fopen関数でファイルを開いたら、fwrite関数でファイルに書き込んでみましょう。

fopen(書き込みたいファイル名, 書き込む文字列)

sample.txtというテキストファイルに、"Hello, world!"という文字列を描き込んでみます。

<?php

// 書き込みモードでファイルを開く
$fp = fopen("sample.txt", "w");

// ファイルに書き込む
fwrite($fp, "Hello, world!");

// ファイルを閉じる
fclose($fp);

?>
Hello, world!

ファイルへの書き込み処理などが終わったら、開いたファイルは最後にfclose関数を使用してファイルを閉じましょう。


file_get_contents

file_get_contents関数を利用すると、指定したファイルの内容を全て文字列として読み込むことができます。

それではfile_get_contents関数を使って、sample.txtのファイルの内容を出力してみましょう。

まずはsample.txtを用意します。

AAA
BBB
CCC
DDD

ファイルを用意したら、file_get_contents関数でファイルの内容を変数に格納し、出力してみます。

<?php

$str = file_get_contents("sample.txt");
echo $str;

?>
AAA
BBB
CCC
DDD


file_put_contents

file_put_contents関数を利用すると、文字列を指定したファイルに書き込むことができます。また、指定したファイルがない場合は新規に作成します。

file_put_contents(書き込み対象のファイルパス, 書き込む文字列)

それではfile_get_contents関数を使って、sample.txtのファイルの内容を出力してみましょう。

<?php

// 書き込む対象のファイルパスを定義する
// 今回はプログラムと書き込みファイルが同一階層にあるものとする
$file = "sample.txt";
$string = "Hello, world!";

// 文字列をsample.txtに書き込む
file_put_contents($file, $string);
?>

処理結果は帰ってきませんが、書き込み対象のsample.txtを開いて確認してみましょう。

Hello, world!

と書いてあれば成功です。


まとめ

今回はファイル操作についてまとめてみました。

これらのファイル操作の関数は、ファイルを読み込んだり、ウェブページの取得や読み込み時のステータスコードを取得できるなど、非常に便利な関数ですので、しっかり覚えておくとよいでしょう。


【著者】

當山

主にPHPでのフレームワーク開発やWebアプリの開発に携わってきました。 得意分野はHTML5とCSSによるフロントエンド開発。

よく読まれている記事