PHPでinclude, include_onceを使いファイルを読み込む

PHPでライブラリや他のPHPファイルを読み込みのに使うinclude文とinclude_once文について説明します。

requireとincludeの違いや、require文の使い方は以下を参照してください。

参照:PHPのinclude文とrequire文の違い
参照:PHPでrequire, require_onceを使いファイルを読み込む

include文の使い方

include "ファイルパス";
include("ファイルパス");

includeは上記のように2通りの書き方ができます。読み込まれたファイルがHTMLならHTMLが出力され、PHPスクリプトならそのスクリプトが実行されます。

パスの指定

ファイルパスは、絶対パスと相対パスどちらでも指定できますが、なるべく相対パスを避けてdirname(__FILE__)などを使うようにしましょう。

以下は、sample.phpからinclude.phpを読み込むサンプルコードです。

サンプルコード(sample.php)

include dirname(__FILE__) . '/sample2.php';

次のコードはinclude.phpというファイル名で、sample.phpと同じディレクトリに保存してください。

サンプルコード(include.php)

echo 'This is include.php';

実行結果

This is include.php

include.phpのechoが実行され「This is include.php」と表示されます。

include_once文の使い方

include_once "ファイルパス";
include_once("ファイルパス");

include_once文とinclude文の違いは、同じファイルが再度読み込まれようとした場合の処理にあります。

include文の場合は、以下のようにFatalエラーとなりますが、include_once文の場合はエラーとなりません。

Fatal error: Cannot redeclare class SampleClass in /path/to/include.php on line 2

require文との違い

require文との違いは、ファイルが存在しない場合などのエラーにあります。require文の場合は、Fatalエラーとなり後続の処理がストップされますが、include文の場合はWarningエラーとなり処理は継続されます。

参照:PHPのinclude文とrequire文の違い