外部ファイルを取り込む
![]()
require文もinclude文も、php.iniで設定された「include_path」を探して、そこにあるインクルードファイル(*.php, *.incなど)を読み込みます。
require文とinclude文の違いは、インクルードファイルが見つからなかった場合におけるエラーの扱いのみです。
require文は、インクルードファイルの読み込みに失敗するとスクリプトの実行が中止されれるエラーを発生しますが、include文の場合はインクルードファイルが見つからなくても処理は続行されます。
インクルードファイルに記述されているPHPコードは、そのファイルを読み込んだプログラムから利用することができます。
なお、rewuire文やinclude文によって読み込まれたファイルの名前は、get_required_files関数およびget_included_files関数によって取得することができます。
インクルードファイルの拡張子を「.inc」や「.txt」などとしてカレントディレクトリにおいておくと、ブラウザでソースを覗かれてしまいます。
これを回避するには、以下のような方法があります。1. インクルードファイルの拡張子を「.php」とする
インクルードファイルの拡張子を「.php」としておけば、ブラウザからソースを簡単に覗くことはできなくなります。ただし、<?php 〜 ?>で囲まれていない部分は表示されてしまうことを忘れないようにしましょう。
2. インクルードファイルをブラウザから直接アクセスできないディレクトリに置く
include_pathにブラウザから直接アクセスすることができないディレクトリを指定しておきます。カレントディレクトリではなく、そのようなディレクトリにインクルードファイルを置いておけば、やはり簡単に覗くことはできなくなります。