Into the Program

【PHP】ファイルの読み込み

Image

PHPは、別のファイルに記述した処理の内容を読み込むことができます。
読み込む構文をrequire文、include文といいます。
頻繁に行う処理は一つのファイルにまとめておき、
そのファイルをrequire文またはinclude文を使って実行ファイルに読み込みます。

require文

require文は以下の構文で実行できます。

<?php

  // ファイルパスとファイル名を記述
  require("C:\php\sample.php");

  // ()を省略して記述することも可能
  require "C:\php\sample.php";

  // 変数にファイルパスとファイル名を入れて実行も可
  $file = "C:\php\sample.php";
  require $file;

?>

では、実際にrequire文を利用して、同一ディレクトリ(フォルダ)にある以下のファイルを、別のファイルに読み込んでみます。

// person.php

<?php

  $person = array(
  "name"    => "Yamada",
  "gender"  => "Male",
  "age"     => "20",
  "address" => "Japan"
  )

?>

// require-001.php

<?php

  require("person.php");

  foreach($person as $value){
    echo $value;
  }

?>


Demo

実行結果はデモから確認できます。
person.phpで定義した連想配列を別のファイルであるrequire-001.phpで読み込み、実行しています。
require文を書いた場所に別ファイルのコードが挿入されますので、実行したい行にrequire文を書くだけで利用できます。
同じような処理は一つのファイルにまとめておき、必要なときだけ読み込むようにすると、コードも短くなるし、管理も楽になるかと思います。

include文

include文は、require文と同じく、別ファイルの内容を読み込む際に利用します。
利用方法はrequire文と同じです。
include文とrequire文の違いは、エラーが発生した際の振る舞いです。
異なる点は以下となります。

include文

ファイル読み込み時にエラーが発生すると、Warningを出力して処理を実行する

require文

ファイル読み込み時にエラーが発生すると、Fatal Errorを出力して処理を停止する

include文はファイル読み込み時にエラーが発生しても処理を続行しますが、
require文は利用したいファイルが存在しない場合に処理を停止することができます。

では、実際にエラーを発生させてinclude文とrequire文の振る舞いの違いを確認してみましょう。
include文とrequire文を利用して存在しないファイルを読み込んだ後、適当な文字列を出力してみます。

<?php

  include("aaa.php");

  echo "include文ではWarningが出力され、この行の処理が実行される";

?>

<?php

  require("aaa.php");

  echo "require文ではこの行の処理が実行されない";

?>

実行することで、include文とrequire文の違いがわかってもらえるかと思います。
実際に動かしてみて下さいね。

require_once文・include_once文

最後に、簡単にですが、require_once文とinclude_once文をご紹介します。
require_once文とinclude_once文は、require文とinclude文と同じくファイルを読み込む際に利用します。
onceとついているように、ファイルを一度だけ読み込むことができます。
同じ処理の中で再読み込みをしない場合は、require_once文とinclude_once文を利用しましょう。

SHARE