よく使う関数は別ファイルに用意しておき複数のページで共通で利用することが出来ます。
require や include を使って指定されたファイルを読み込みます。
2つの違いは後述するエラーの処理以外はあまり変わらないようです。
ソースコード
$a = 10;
print "include と require のテストをします。<br>\n";
include 'common1.inc';
require 'common1.inc';
ソースコード (common1.inc の内容)
<?php
$a = $a + 1;
print "■これは common1.inc から書かれています。<br>\n";
print "\$a の値は $a です。<br>\n";
?>
出力結果
include と require のテストをします。
■これは common1.inc から書かれています。
$a の値は 11 です。
■これは common1.inc から書かれています。
$a の値は 12 です。
include と require で common1.inc の内容を読み込んでいます。
元のファイルの変数もそのまま使えます。
また、ローカルなファイルだけでなくURLを記述して他のサーバにあるファイルも読み込むことが出来ます。(すごいですね〜。)
ソースコード
print "ここは元のファイルから書かれています。<br>\n";
include 'http://www.php.gr.jp/';
print "<br>ここも元のファイルから書かれています。<br>\n";
ファイルがなかった時の処理
ソースコード
print "ここは元のファイルから書かれています。<br>\n";
include 'aaaaa.inc';
print "<br>ここも元のファイルから書かれています。<br>\n";
出力結果
ここは元のファイルから書かれています。
Warning: Failed opening 'aaaaa.inc' for inclusion (include_path='.:/usr/local/lib/php') in /home/hiro/public_html/function/include_err.php on line 7
ここも元のファイルから書かれています。
ソースコード
print "ここは元のファイルから書かれています。<br>\n";
require 'aaaaa.inc';
print "<br>ここも元のファイルから書かれています。<br>\n";
出力結果
ここは元のファイルから書かれています。
Fatal error: Failed opening required 'aaaaa.inc' (include_path='.:/usr/local/lib/php') in /home/hiro/public_html/function/require_err.php on line 7
この例で分かるように include の場合、読み込むファイルがなくても Warning を表示し、それ以降の処理を続行します。
逆に require の場合は error を表示し、それ以降の処理を行いません。 |