PHP Include 和 Require

2025 年 4 月 1 日 | 阅读 4 分钟

PHP 允许我们创建各种元素和函数,它们在许多页面中会被重复使用。在多个页面中编写这些函数会花费大量时间。因此,使用文件包含的概念,该概念有助于在各种程序中包含文件,并节省了重复编写代码的精力。

“PHP 允许您包含文件,以便一个页面的内容可以重复使用多次。当您想在网站的多个页面上应用相同的 HTML 或 PHP 代码时,包含文件非常有用。” PHP 中有两种包含文件的方式。

  1. include
  2. require(需要)

注意:include 和 require 除了失败时的行为不同外,其他方面都是相同的。

include 只会生成一个警告,即 E_WARNING,并继续执行脚本。

require 会生成一个致命错误,即 E_COMPILE_ERROR,并停止执行脚本。

include 和 require 的优点

代码重用性:借助 include 和 require 构造,我们可以在许多 PHP 脚本中重用 HTML 代码或 PHP 脚本。

易于编辑:如果我们想更改网页中的任何内容,只需编辑包含在所有网页中的源文件,而不是分别编辑所有文件。

PHP include

PHP include 用于根据给定的路径包含文件。您可以使用文件的相对路径或绝对路径。

语法

语法 1

语法 2

示例

让我们看一个简单的 PHP include 示例。

示例 1

文件:menu.html

文件:include1.php

示例

输出

Home |     
PHP |     
Java |      
HTML    
This is Main Page

说明

脚本通过 include() 包含了 menu.html,因此 menu.html 的内容出现在 <h1> 标签之前。当遇到缺失的文件时,PHP 脚本在继续执行时会显示一个警告消息。

示例 2

文件:footer.html

文件:include2.php

示例

立即执行

输出

Copyright 2025 - All rights reserved.
Thank you for visiting our TPointTech!

说明

页脚文本显示在感谢消息之前,因为 footer.html 存在于 include2.php 中。尽管 footer.html 不存在,脚本仍然会显示感谢消息。

PHP require

PHP require 类似于 PHP include,也用于包含文件。唯一的区别是,如果找不到文件,它会停止脚本的执行,而 include 不会。

语法

require 有两种可用的语法

语法 1

语法 2

示例

让我们看一个简单的 PHP require 示例。

示例 1

文件:menu.html

文件:require1.php

示例

输出

Home | 
PHP | 
Java |  
HTML
This is Main Page

说明

程序需要 menu.html 来继续显示主页的标题部分。缺少 menu.html 将触发一个致命错误,从而停止 PHP 的脚本执行。

示例 2

文件:config.php

文件:require2.php

示例

输出

Database connection initialised.

PHP include vs PHP require

includerequire 都是相同的。但是,如果文件丢失或包含失败,include 允许脚本继续执行,而 require 会停止脚本并产生一个致命的 E_COMPILE_ERROR 级别的 错误

让我们通过一个例子来理解区别

示例 1

文件:include.php

示例

立即执行

输出

我们包含的 welcome.php 文件在同一目录下不可用。因此,它会生成关于缺失文件的警告,但也会显示输出。

Warning: include(welcome.php): failed to open stream: No such file or directory in C:\xampp\htdocs\program\include.php on line 3

Warning: include(): Failed opening 'welcome.php' for inclusion (include_path='C:\xampp\php\PEAR') in C:\xampp\htdocs\program\include.php on line 3
The welcome file is included.

说明

提供了一个名为 welcome.php 的新文件,因为它在其当前目录中不可用。脚本会发出关于缺失文件的警告通知,但仍成功显示输出。

文件:require.php

示例

立即执行

输出

HELLO
Warning: require(Welcome.php): failed to open stream: No such file or directory in C:\xampp\htdocs\program\include.php on line 3

Fatal error: require(): Failed opening required 'Welcome.php' (include_path='C:\xampp\php\PEAR') in C:\xampp\htdocs\program\include.php on line 3

说明

当 require() 遇到当前目录中(welcome.php)的缺失文件时,PHP 会生成一个致命错误来停止脚本处理。脚本执行在 require() 返回致命错误后立即停止,如以下输出所示。

示例 2

文件:functions.php

文件:include_test.php

文件:require_test.php

输出

Hello world!

说明

即使 functions.php 丢失,脚本也能正常执行,因为 include_test.php 只会生成一个警告。当 functions.php 缺失时,require_test.php 的执行将导致致命错误。

结论

PHP 开发依赖于 includerequire 函数来构建模块化和可重用的 Web 应用程序,因为 include 函数允许程序在文件加载失败的情况下继续运行,而 require 函数则在所有必需的依赖项都经过验证之前阻止脚本执行。通过涉及这些函数的适当的应用程序结构,PHP 开发人员可以实现更高的效率并最小化代码重复。

includerequire 的实现取决于在必需文件丢失时程序是否应继续执行。理解 PHP includerequire 的功能,开发人员就可以创建功能更强大、更可靠且能避免错误的应用程序。


下一个主题PHP Cookie