PHP 5 ファイルのインクルード

❮ 前章へ 次章へ ❯

include (または require) 文は、指定したファイルに存在するすべてのtext/code/markupを取りこみ、 include 文を使用しているファイル(スクリプト内)にコピーします。

ファイルのインクルードは、同じPHPやHTML、テキストをwebサイトの複数のページに取り込む場合に非常に便利です。


PHP include文とrequire文

或るPHPファイルのコンテンツを、includeまたはrequire文を使用して、サーバがそれを実行する前に別のPHPファイルに挿入することが可能です。

includeとrequire文は、ファイルを探すのに失敗した場合を除いて同じです:

したがって、インクルードファイルがない場合でも実行を継続し、ユーザに出力を表示したいような場合には includeステートメントを使用します。 それ以外の FrameWorkやCMS、複雑なPHPアプリケーションコーディングのような場合には、実行フローへキーファイルを インクルードするため、常にrequire文を使用します。これにより、アプリケーションのセキュリティと整合性を損なうのを避けることができます。

ファイルをインクルードすることで、多くの作業が節約できます。 つまり、すべてのWebページに標準のヘッダ、フッタ、またはメニューファイルを作成する場合があります。 その後、ヘッダを更新しなければならない時には、ヘッダのインクルードファイルのみを更新するだけで済みます。

構文

include 'filename';

or

require 'filename';

PHP include の例

例 1

次のような、"footer.php"という標準のフッタ・ファイルがあったとします:

<?php
echo "<p>Copyright &copy; 1999-" . date("Y") . " W3Schools.com</p>";
?>

フッタ・ファイルをページにインクルードするのにinclude文を使用します:

<html>
<body>

<h1>Welcome to my home page!</h1>
<p>Some text.</p>
<p>Some more text.</p>
<?php include 'footer.php';?>

</body>
</html>
例の実行 »

例 2

次のような、"menu.php"という標準のメニュー・ファイルがあったとします:

<?php
echo '<a href="/default.html">Home</a> -
<a href="/html/default.html">HTML Tutorial</a> -
<a href="/css/default.html">CSS Tutorial</a> -
<a href="/js/default.html">JavaScript Tutorial</a> -
<a href="default.html">PHP Tutorial</a>';
?>

Web サイトのすべてのページでこのメニューファイルを使用する必要があります。これをどのように行うことができますか (CSSを使い、後で簡単にスタイルを設定できるように <div> 要素を使用しています):

<html>
<body>

<div class="menu">
<?php include 'menu.php';?>
</div>

<h1>Welcome to my home page!</h1>
<p>Some text.</p>
<p>Some more text.</p>

</body>
</html>
例の実行 »

例 3

いくつかの変数が定義された "vars.php"というファイルがあるとします:

<?php
$color='red';
$car='BMW';
?>

次に、 "vars.php"ファイルをインクルードすると、変数を呼び出しファイルで使用することができます:

<html>
<body>

<h1>Welcome to my home page!</h1>
<?php include 'vars.php';
echo "I have a $color $car.";
?>

</body>
</html>
例の実行 »

PHP include 対 require

require 文も、PHPのコード内にファイルをインクルードするために使用します。

しかし、includeとrequireの間には大きな違いが1つあります;include文でファイルをインクルードした時に、 PHPがそれを見つけられなかった場合、スクリプトは引き続き実行されます:

<html>
<body>

<h1>Welcome to my home page!</h1>
<?php include 'noFileExists.php';
echo "I have a $color $car.";
?>

</body>
</html>
例の実行 »

strong>require文を使用して同じ例を実行すると、require文が致命的なエラーを返した後にスクリプトの実行が終了するため、 echo文は実行されません:

<html>
<body>

<h1>Welcome to my home page!</h1>
<?php require 'noFileExists.php';
echo "I have a $color $car.";
?>

</body>
</html>
例の実行 »

アプリケーションがファイルを必須とする場合は、requireを使用します。

ファイルが必須ではなく、ファイルが見つからない場合でもアプリケーションを続行する必要がある場合は、includeを使用します。


❮ 前章へ 次章へ ❯