include

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

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

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

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

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

  1 
  2  /* 以下は誤っており、希望通りに動作しません。 */
  3  
  4  if ($condition)
  5      include($file);
  6  else
  7      include($other);
  8  
  9  /* 以下が正解です。 */
 10  
 11  if ($condition) {
 12      include($file);
 13  } else {
 14      include($other);
 15  }
 16       

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

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

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

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