PHPのfile関数を利用してファイルを読み込む方法を現役エンジニアが解説【初心者向け】

初心者向けにPHPのfile関数を利用してファイルを読み込む方法について現役エンジニアが解説しています。file関数とは、PHPの標準関数でファイルを読み込み行ごとに配列にして返す関数です。PHPのfile関数の書き方や使い方、引数のフラグの指定方法などについて解説します。

TechAcademyマガジンはオンラインのプログラミングスクールTechAcademy [テックアカデミー]が運営。初心者向けに解説した記事が4,000以上あります。現役エンジニアの方はこちらをご覧ください。

今回は、PHPのfile関数を利用してファイルを読み込む方法について、TechAcademyのメンター(現役エンジニア)が実際のコードを使用して初心者向けに解説します。

 

PHPについてそもそもよく分からないという方は、PHPとは何なのか解説した記事を読むとさらに理解が深まります。

 

なお本記事は、TechAcademyのオンラインブートキャンプ、PHP/Laravel講座の内容をもとに紹介しています。

 

田島悠介

今回は、PHPに関する内容だね!

大石ゆかり

どういう内容でしょうか?

田島悠介

PHPのfile関数を利用してファイルを読み込む方法について詳しく説明していくね!

大石ゆかり

お願いします!

 
この記事ではPHPのfile関数を利用してファイルを読み込む方法について解説します。
 

目次

 

file関数とは

file関数は、PHPの標準関数でファイルを読み込み行ごとに配列にして返す関数です。

ファイル処理の際に使われる関数になります。
 

[PR] PHPのプログラミングで挫折しない学習方法を動画で公開中

file関数を利用してファイルを読み込む方法

file関数を利用してファイルを読み込ますには以下のように記述します

file(ファイル名[, フラグ]);

第1引数に読み込みたいファイル名を設定します。第2引数は任意ですが以下の値を設定できます。

フラグ名(定数) 機能
FILE_IGNORE_NEW_LINES 配列の各要素の最後に改行文字が含まれない
FILE_USE_INCLUDE_PATH include_pathのファイルを探す
FILE_SKIP_EMPTY_LINES 空行を配列の要素として読み込まない

もし設定したファイル名の読み込みに失敗した場合は、FALSEを返します。
 

実際に書いてみよう

では実際にfile関数を使ってファイルを読み込んでみましょう
 

ソースコード

test.txt

りんご
バナナ
みかん

ぶどう
桃

test.php

<?php
var_dump(file("test.txt"));
echo "<br/>";
var_dump(file("test.txt", FILE_IGNORE_NEW_LINES));
echo "<br/>";
var_dump(file("test.txt", FILE_IGNORE_NEW_LINES | FILE_SKIP_EMPTY_LINES));

 

実行結果

array(6) { [0]=> string(10) "りんご " [1]=> string(10) "バナナ " [2]=> string(10) "みかん " [3]=> string(1) " " [4]=> string(10) "ぶどう " [5]=> string(3) "桃" }
array(6) { [0]=> string(9) "りんご" [1]=> string(9) "バナナ" [2]=> string(9) "みかん" [3]=> string(0) "" [4]=> string(9) "ぶどう" [5]=> string(3) "桃" }
array(6) { [0]=> string(10) "りんご " [1]=> string(10) "バナナ " [2]=> string(10) "みかん " [3]=> string(1) " " [4]=> string(10) "ぶどう " [5]=> string(3) "桃" }

ファイルの中の行ごとに配列に格納されていることが確認できます。またフラグを設定することで空白行を取り除くこともできます。
 

まとめ

この記事ではPHPのfile関数を利用してファイルを読み込む方法について解説しました。

file関数はPHPでファイル操作をする際に非常によく使われる関数です。使い方を理解しておきましょう。
 

筆者プロフィール

メンターSさん

システムエンジニアとしてこれまで行政システムや医療用システムの保守、開発に携わりました。

JavaやPython、PHP、Kotlinなど様々な言語での開発経験があります。
TechAcademyではJavaコース、Pythonコース、AIコースなど7コースを担当しています。

 

大石ゆかり

内容分かりやすくて良かったです!

田島悠介

ゆかりちゃんも分からないことがあったら質問してね!

大石ゆかり

分かりました。ありがとうございます!

 

TechAcademyでは、初心者でも最短4週間で、PHPやフレームワークのLaravelを使ってWebアプリケーション開発を習得できる、オンラインブートキャンプを開催しています。

また、現役エンジニアから学べる無料体験も実施しているので、ぜひ参加してみてください。