[PHP-users 5122] diff include require

Hiroshi Morita php-users@php.gr.jp
Thu, 31 Jan 2002 13:25:19 +0900


tyuu です。

include() と require() の違いをご存知の方はいますか?
いつの間にか違いがなくなっているような・・・。
# include_once() と require_once() でも良いですが。

> [PHP-users 1569] Re: 処理分岐で他のphpで処理する
で、大垣様がおっしゃるには、
> 最近のPHP(4.0.5くらいから?)はincludeとrequireのコードにほとんど違い
> はありません。違いはincludeはファイルが無くてもWarningが出るだけで処理
> を続行。requireはファイルが無い場合、Fatal Errorで処理を中止、といった
> ところです。


PHP マニュアルを読むと、
実行時にファイルが決まるものには include()
パース時にファイルが決まるものには require()

しかし、以下のコードはエラーも無く、
hogefoo
と表示してしまいます。

index.php
<?php
	$hoge = './hoge.php';
	$foo = $HTTP_GET_VARS['target'];
	if( (NULL == $foo) || ($hoge == $foo) )
		$foo = './foo.php';

	include( $hoge );
	require( $foo );	// 実行時に決まると思うけど。
?>

hoge.php
<?php echo "hoge"; ?>

foo.php
<?php echo "foo"; ?>

何か、根本的に勘違いしているのでしょうか?

by tyuu.