`include` と `require` の違い
最終更新日: 2025年10月4日
PHPでサイトを構築する際、ヘッダーやフッター、関数定義ファイルなど、複数のページで共通して使う部分を別ファイルに切り出して管理することがよくあります。その際に使われるのが、外部ファイルを読み込むための `include` と `require` です。
共通点:外部ファイルを読み込む
どちらの命令も、指定したファイルをその場所に読み込んで実行するという基本的な機能は同じです。また、それぞれ末尾に `_once` を付けた `include_once` と `require_once` があり、これらは同じファイルが複数回読み込まれるのを防ぐために使われます。
相違点:エラー発生時の挙動
両者の唯一かつ最大の違いは、**指定したファイルが見つからなかった場合のエラーの深刻度**です。
- `include`:警告(Warning)を出すが、処理は続行する
ファイルがなくても、PHPは警告メッセージを出すだけで、その後のスクリプトの実行を続けようとします。例えば、表示がなくてもサイトの動作に致命的な影響がない広告バナーなどを読み込む際に使われることがあります。 - `require`:致命的なエラー(Fatal Error)を出し、処理を中断する
ファイルが見つからない場合、PHPはそこで致命的なエラーと判断し、スクリプトの実行を完全に停止します。これにより、予期せぬ動作やさらなるエラーの発生を防ぎます。
どちらを使うべきか?
結論から言うと、**ほとんどの場合は `require_once` を使うのが安全で確実**です。設定ファイル(`config.php`)や関数ファイル(`functions.php`)のように、そのファイルがないとプログラムが正常に動作しないことが明らかな場合は、`require` を使ってエラー発生時に処理を確実に停止させるべきです。Myフォームクリエイターでも、`require_once 'functions.php';` のように `require_once` を使用しています。
まとめ
「それがないと絶対に困るファイルは `require` で読み込む」と覚えましょう。`include` は、読み込めなくても処理を続けたいという限定的な状況以外では、あまり使う機会はありません。安全性を優先し、基本的には `require` または `require_once` を使うことをお勧めします。
Web制作者向け便利ツール
Myホームページクリエイター
無料で使える高品質なホームページテンプレートを提供。ビジネスサイトやポートフォリオに最適です。
My Logo Creator
登録不要で本格的なロゴを無料作成。Webサイトや名刺に使えるプロ品質のSVG形式にも対応しています。
My Canvas Creator
ブラウザ上で手軽に画像を編集・加工できるツール。SNS投稿やブログのアイキャッチ作成に役立ちます。
Myカラークリエイター
Webデザインに最適な配色が見つかるツール。アクセシビリティ対応のコントラスト比チェック機能も搭載。
My OGPクリエイター
SNSシェア時の美しいプレビューカード(OGPタグ)を、ライブプレビューを見ながら簡単に作成できます。
My Faviconクリエイター
1枚の画像やイニシャルから、あらゆるデバイスに対応したファビコン一式を瞬時に自動生成します。
