本文へスキップ

PR

PHPでファイルを読み込む方法|include・require・file_get_contentsの違いも解説

PHPでファイルを読み込みたいけど、includeとかrequireとか色々あってどれを使えばいいのかわからないよ
この記事でその悩みを解決します!それぞれの違いをわかりやすく説明するね

プログラミングをしていると、別のファイルに書いたコードを読み込んで使いたい場面がたくさんありますよね。

でも、PHPにはファイルを読み込むための方法がいくつか用意されていて、初心者の方はどれを選べばいいのか迷ってしまうことが多いです。

実は、それぞれの読み込み方には明確な違いや役割があるのです。

エラーが起きたときの動きが違うのがポイントだよ

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

PHPのファイル読み込みは用途に合わせて使い分けよう

結論から言うと、PHPでファイルを読み込むときは、エラー時の動作と読み込みたい内容によって使い分けるのが正解です。

それぞれの方法には、以下のような特徴があります。

  • includeはエラーが出ても処理を続ける
  • requireはエラーが出たら処理を止める
  • file_get_contentsはファイルの中身を単なる文字として読み込む

この違いをしっかり理解しておくことで、思わぬバグを防ぐことができます。

なるほど、エラーの時の動きが違うんだね
そうなんだ。システムを安全に動かすために、とても重要な考え方だよ
プログラムの重要度に合わせて選ぶのがコツです

たとえば、絶対に読み込まないとシステムが動かなくなるような重要なファイルなら、エラーで止まってくれた方が安心ですよね。

逆に、ただのデザインの一部など、なくても最悪システムは動くようなものなら、処理を続けてほしいこともあります。

このように、状況に応じた適切な命令を選ぶことがプログラミングの上達には欠かせません。

無料:WordPress ブログの初期設定チェックリスト
28 の設定を 1 枚にまとめた PDF と、5 日間のミニ講座をメールでお届けします。

includeとrequireの最大の違いはエラーの扱い

PHPでファイルを読み込む際によく使われるのが、includeとrequireです。

これらはどちらも別のPHPファイルを読み込んで実行するための命令ですが、エラーが発生したときのプログラムの動きが決定的に異なります。

もし読み込もうとしたファイルが見つからなかった場合、それぞれの動きは以下のようになります。

  • includeの場合は警告を出しつつもその後の処理を実行し続ける
  • requireの場合は致命的なエラーとしてプログラムの実行を完全に停止させる
エラーで止まるか止まらないかの違いなんだね
その通り!だから、絶対に必須なファイルにはrequireを使うことが多いんだ
データベースの設定ファイルなどは必ずrequireを使おう

もしデータベースの設定ファイルをincludeで読み込んでしまい、ファイルが見つからなかったらどうなるでしょうか。

プログラムは止まらずに進んでしまうので、後から大量のエラーが発生して原因を突き止めるのが大変になってしまいます。

そのため、システムの中核となる重要なファイルはrequireで読み込むのが基本です。

逆に、ウェブページのフッター部分など、万が一読み込めなくてもページ全体が表示されないよりはマシ、という場合にはincludeが適しています。

// includeの例
include 'footer.php';

// requireの例
require 'database_config.php';

_onceをつけると1回だけ読み込んでくれる

includeとrequireには、それぞれ末尾に_onceをつけた命令が用意されています。

つまり、include_onceとrequire_onceのことですね。

これらは、同じファイルがすでに読み込まれている場合は再読み込みをしないという便利な機能を持っています。

プログラムが複雑になってくると、いろいろな場所で同じファイルを読み込もうとしてしまうことがあります。

  • 関数が二重に定義されてエラーになるのを防ぐ
  • 無駄な読み込みを減らしてプログラムを軽くする
  • 設定が上書きされてしまうのを防ぐ
なるほど、何度も同じものを読み込むのを防いでくれるんだね
そうだよ。とくに大きなプログラムを作るときは必須の書き方なんだ
特別な理由がない限りは_onceを使うのがおすすめだよ

実際の大規模なシステム開発では、安全性を重視してrequire_onceが一番よく使われます。

毎回ファイルが読み込まれているかを気にしながらプログラミングするのは大変なので、PHPに重複チェックをお任せできる_onceの機能は積極的に活用していきましょう。

// すでに読み込まれていればスキップされる
require_once 'functions.php';

Web制作においてJavaScriptのコードを外部ファイルに分割して読み込む手順については、以下の記事も参考にしてみてください。ブラウザでJavaScriptを実行する3つの方法フロントエンドとサーバー側の両方でファイルを適切に分割・管理できるようになると、保守性の高い開発が行えます。

file_get_contentsは文字として読み込む便利ツール

includeやrequireとは少し毛色が違うのが、file_get_contentsという関数です。

これはPHPのプログラムとして読み込んで実行するのではなく、ファイルの中身を単なる文字のデータとして取得する働きを持っています。

テキストファイルやCSVファイル、あるいはインターネット上のウェブページの内容などを読み込みたいときに大活躍します。

  • テキストファイルの中身を変数に入れたいとき
  • APIを呼び出してJSONデータを受け取りたいとき
  • 外部のサイトのHTML情報を取得したいとき
実行するんじゃなくて、中身の文字を取り出すんだね
その通り!他のPHPファイルを読み込むのとは役割が全く違うんだよ
URLを指定してネット上のデータを取ってくることもできるよ

ただし、この関数でPHPファイルを読み込んでも、プログラムとしては動かず中身のコードがそのまま文字として取れてしまいます。

そのため、PHPのプログラムを分割して読み込みたい場合はincludeやrequireを使い、純粋なデータを読み込みたい場合にfile_get_contentsを使うという使い分けが重要になります。

// テキストファイルの中身を読み込む
$text = file_get_contents('sample.txt');

よくある疑問をすっきり解決

ここまでPHPのファイル読み込みについて解説してきましたが、初心者の方がよくつまずく疑問についてお答えしていきます。

エラーが出たときなど、どう対処していいか迷ったときの参考にしてみてください。

includeとrequire、どっちを使えばいいか迷ったらどうすればいいの?
迷ったら安全のためにrequire(またはrequire_once)を使うのがおすすめだよ
  • パスの指定はどうすればいいの?:相対パスと絶対パスのどちらでも指定できますが、システムが複雑になると絶対パスの方が安全です
  • file_get_contentsでエラーが出るんだけど?:指定したファイルが存在しないか、URLを読み込む設定がサーバー側で許可されていない可能性があります
  • 読み込んだファイルの中の変数は使えるの?:はい、読み込み元のファイルで定義された変数は、読み込んだ先のファイルでもそのまま使うことができます

とくにファイルのパス指定は間違えやすいポイントです。

__DIR__を使うと安全にファイルパスを指定できるよ

どうしてもファイルが読み込めないときは、ファイル名が間違っていないか、ファイルが存在する場所が合っているかをよく確認しましょう。

プログラミングのエラーの多くは単純なスペルミスやパスの指定ミスなので、焦らずにチェックすることが大切です。

本格的にプログラミングを学ぶならスクールが近道

PHPのファイル読み込みのように、プログラミングには「似ているけれど使いどころが違う」という技術がたくさんあります。

独学でもコツコツ学ぶことはできますが、現場で本当に使われる正しい知識を身につけるには、プロに教わるのが一番の近道です。

プログラミングスクールなら、経験豊富なエンジニアから直接指導を受けることができます。

  • わからないことがあればすぐに質問して解決できる
  • 実際の開発現場で使われる最新のスキルが身につく
  • 自分専用のカリキュラムで効率よく学習を進められる
独学だとエラーが出たときに何日も悩んじゃうんだよね
スクールならプロがすぐにサポートしてくれるから安心だよ
無料体験をやっているスクールも多いから試してみよう

とくに一人で学習しているとモチベーションが下がってしまいがちですが、スクールなら最後までやり遂げる環境が整っています。

本気でエンジニアを目指したり、自分のアイデアを形にしたいと考えているなら、プログラミングスクールの活用を検討してみてはいかがでしょうか。

転職保証付きプログラミングスクール DMM WEBCAMP
Skill Hacks
CodeCamp

それぞれの特徴を理解して正しく使いこなそう

この記事では、PHPでファイルを読み込むためのさまざまな方法について解説しました。

一見するとどれも同じように見えますが、エラーの扱いや役割に明確な違いがあることがおわかりいただけたと思います。

目的に合った正しい命令を選ぶことが大切だよ

重要なファイルにはrequire_onceを使い、純粋なデータにはfile_get_contentsを使うなど、状況に応じた使い分けを意識してみてください。

これからはエラーが出ても慌てずに対処できそうだよ
そうだね!たくさんコードを書いて感覚を掴んでいこう

それぞれの命令の特徴をしっかり理解して、より安全で効率的なプログラミングを楽しんでくださいね。

転職保証付きプログラミングスクール DMM WEBCAMP
Skill Hacks
CodeCamp

PHPやWebプログラミングの実践的な開発手法を最短で身につけたい方は、以下のスクール比較もぜひ参考にしてみてください。プログラミングスクールおすすめ比較|初心者が最短でスキル習得できる選び方とは?疑問点をすぐに質問できる学習環境を選ぶことで、挫折せずにステップアップできます。

WordPressテーマ「SIMPLE」

simple

「SIMPLE」は、シンプルなデザインと多彩な機能を兼ね備えたオリジナルWordPressテーマです。

無料:WordPress ブログの初期設定チェックリスト
28 の設定を 1 枚にまとめた PDF と、5 日間のミニ講座をメールでお届けします。

LINEでお知らせ

「SIMPLEの最新情報」

新機能やアップデートのお知らせを、LINEで受け取れます。

友だち追加

この記事を書いた人

マルユメ

元社畜。ブラック企業で5年間鬼労働して1000万貯金→退職。27歳。WordPressテーマを自作。ブログを4つ運営中。

RELATED POSTS

COMMENT FORM

メールアドレスが公開されることはありません。 ※ が付いている欄は必須項目です