今日の人気記事

  1. HTML内でPHPスクリプトを実行 - 埋め込み
  2. PHP + Apacheのインストール - Linux環境 - CentOS
  3. PHPのダウンロードとインストール - Windows環境
  4. 外部コマンドを実行 - exec()、system()
  5. PHP + Apache 環境の構築

require、require_once - ファイルの取り込み

スポンサーリンク

PHPスクリプト内でファイルをインクルードする基本構文「require」「require_once」を紹介します。

require、require_once 構文

require、require_once を使えば、別のファイルに保存されているPHPスクリプトを取り込みむことができます。

require('ファイル名');
require_once('ファイル名')
  • require は、同じファイルでも何度も取り込む
  • require_once は、既に取り込まれたファイルは2回目以降は取り込まない(1度だけ取り込む)

require と include 構文

require(require_once) と include(include_once) 構文はファイルを取り込むという点は全く同じですが、インクルードファイルがない場合の挙動が異なります。

  • require、require_once
    インクルードファイルがない場合、致命的なエラー(Fatal error)として、処理を中断
  • include、include_once
    インクルードファイルがない場合、警告(Warning)を出力し、処理を継続
スポンサーリンク

サンプルスクリプト

それでは require、require_onece の動きをサンプルスクリプトで確認してみましょう。

以下のスクリプトが記述された「in.php」というファイルを取り込んでみます。

<?php
echo "require と require_once のサンプルスクリプトだよ。\n";
?>

require

まずは、require のサンプルスクリプトです。

<?php
// ファイルの取り込み
require("in.php");
require("in.php");
require("in.php");
?>

実行結果です。「in.php」を3回取り込んでいるので、以下のような結果になります。

require と require_once のサンプルスクリプトだよ。
require と require_once のサンプルスクリプトだよ。
require と require_once のサンプルスクリプトだよ。

インクルードファイルがない場合のサンプルスクリプトです。

<?php
// インクルードファイルがない場合
require("in.php");
echo "ファイルないよ\n";
?>

実行結果です。

Warning: require(in.php): failed to open stream: No such file or directory in /home/require.php on line 3

Fatal error: require(): Failed opening required 'in.php' (include_path='.:') in /home/karuma/require.php on line 3

このように致命的なエラー(Fatal error)として、処理を中断します。

require_once

次は require_once のサンプルスクリプトです。

<?php
// ファイルの取り込み
require_once("in.php");
require_once("in.php");
require_once("in.php");
?>

実行結果です。

require と require_once のサンプルスクリプトだよ。

require と同じように3回「in.php」を取り込んでいますが、一度だけしか取り込まれないことがわかりますね。

スポンサーリンク