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エラーとなり処理は継続されます。