外部ファイルを取り込む
![]()
require_once文もinclude_once文も、require文やinclude文と同様、php.iniで設定された「include_path」を探して、そこにあるインクルードファイル(*.php, *.incなど)を読み込みます。ただし、すでにインクルードファイルのコードが読み込まれている場合には、再度読み込みを行わないというところがrequire文やinclude文と異なります。
スクリプトの実行時に、インクルードファイルの関数や変数が何回も読み込まれるのを防ぎたい場合はこのequire_once文やinclude_once文が有効です。
インクルードファイルの拡張子を「.inc」や「.txt」などとしてカレントディレクトリにおいておくと、ブラウザでソースを覗かれてしまいます。
これを回避するには、以下のような方法があります。1. インクルードファイルの拡張子を「.php」とする
インクルードファイルの拡張子を「.php」としておけば、ブラウザからソースを簡単に覗くことはできなくなります。ただし、<?php 〜 ?>で囲まれていない部分は表示されてしまうことを忘れないようにしましょう。
2. インクルードファイルをブラウザから直接アクセスできないディレクトリに置く
include_pathにブラウザから直接アクセスすることができないディレクトリを指定しておきます。カレントディレクトリではなく、そのようなディレクトリにインクルードファイルを置いておけば、やはり簡単に覗くことはできなくなります。