include

include 文は指定されたファイルを読み込み、 評価します。

この処理は、include 文を処理する度に行われます。 このため、異なった複数のファイルを読み込むためにループ構造の中で include を使用することができます。


 $files = array ('first.inc', 'second.inc', 'third.inc');
 for ($i = 0; $i < count($files); $i++) {
     include $files[$i];
 }
      

include は、 require とは 異なっています。つまり、include 文はその文の処理が行われる度に (実行時においてのみ)再度評価されますが、 require 文は、 (例えば、条件が FALSE となる if 文の中のように) 要求されたファイルの内容が評価されるかどうかにかかわらず 最初に読み込まれたファイルで置き換えられます。

include は 特殊な言語構造なので、条件ブロックの内部にある時には、命令ブロックの中に 入れておく必要があります。


 /* 以下は誤っており、希望通りに動作しません。 */
 
 if ($condition)
     include($file);
 else
     include($other);
 
 /* 以下が正解です。 */
 
 if ($condition) {
     include($file);
 } else {
     include($other);
 }
      

ファイルが評価された際、パーサーは "HTML-mode" となっており、 PHP 開始タグ (<?) に合うまで、ファイルの内容が出力されます。

include およびrequire は共に 実際にターゲットファイルの中身を呼出側のファイル自体に読みこむことに 注意してください。ターゲットを HTTP のようなものを経由してコールする わけではありません。よって、 インクルードされるファイルは効率的に呼出側のファイルの一部になるため、 インクルードされた側のスコープで設定された全ての変数はインクルード されるファイルの中でも自動的に利用可能です。


 include( "file.inc?varone=1&vartwo=2" ); /* 動作しません */
 
 $varone = 1;
 $vartwo = 2;
 include( "file.inc" );  /* $varone および $vartwo は file.inc で利用可能です */
 
 	 

readfile, require, virtualも参照下さい。