PHP 包含文件
The include
(或 require
) 语句获取指定文件中存在的文本/代码/标记,并将它们复制到使用该 include 语句的文件中。
包含文件非常有用,尤其是在您希望在网站的多个页面上包含相同的 PHP、HTML 或文本时。
PHP include 和 require 语句
可以使用 include 或 require 语句将一个 PHP 文件的内容插入另一个 PHP 文件中(在服务器执行它之前)。
include 和 require 语句是相同的,但它们在失败时的行为不同。
require
将产生一个致命错误 (E_COMPILE_ERROR) 并停止脚本include
仅会产生一个警告 (E_WARNING),并且脚本将继续执行。
因此,如果您希望执行继续并向用户显示输出,即使包含文件丢失,也请使用 include 语句。 否则,在框架、CMS 或复杂的 PHP 应用程序编码的情况下,始终使用 require 语句包含一个关键文件,以使执行流程正常进行。 这将有助于防止在关键文件意外丢失的情况下损害应用程序的安全性和完整性。
包含文件可以节省大量工作。 这意味着您可以为所有网页创建标准的页眉、页脚或菜单文件。 然后,当需要更新页眉时,您只需更新页眉包含文件即可。
语法
include 'filename';
或
require 'filename';
PHP include 示例
示例 1
假设我们有一个名为“footer.php”的标准页脚文件,它看起来像这样
<?php
echo "<p>版权所有 © 1999-" . date("Y") . " W3Schools.com</p>";
?>
要在页面中包含页脚文件,请使用 include
语句
示例
<html>
<body>
<h1>欢迎访问我的主页!</h1>
<p>一些文本。</p>
<p>更多文本。</p>
<?php include 'footer.php';?>
</body>
</html>
运行示例 »
示例 2
假设我们有一个名为“menu.php”的标准菜单文件
<?php
echo '<a href="/default.asp">首页</a> -
<a href="/html/default.asp">HTML 教程</a> -
<a href="/css/default.asp">CSS 教程</a> -
<a href="/js/default.asp">JavaScript 教程</a> -
<a href="default.asp">PHP 教程</a>';
?>
网站中的所有页面都应该使用此菜单文件。以下是如何实现(我们使用<div>元素以便稍后使用 CSS 轻松设置菜单样式)
示例
<html>
<body>
<div class="menu">
<?php include 'menu.php';?>
</div>
<h1>欢迎访问我的主页!</h1>
<p>一些文本。</p>
<p>更多文本。</p>
</body>
</html>
运行示例 »
示例 3
假设我们有一个名为“vars.php”的文件,其中定义了一些变量
<?php
$color='red';
$car='BMW';
?>
然后,如果我们包含“vars.php”文件,这些变量可以在调用文件中使用
示例
<html>
<body>
<h1>欢迎访问我的主页!</h1>
<?php include 'vars.php';
echo "我有一辆 $color $car.";
?>
</body>
</html>
运行示例 »
PHP include vs. require
require
语句也用于将文件包含到 PHP 代码中。
但是,include 和 require 之间有一个很大的区别:当使用 include
语句包含文件时,如果 PHP 找不到它,脚本将继续执行
示例
<html>
<body>
<h1>欢迎访问我的主页!</h1>
<?php include 'noFileExists.php';
echo "我有一辆 $color $car.";
?>
</body>
</html>
运行示例 »
如果我们使用 require
语句执行相同的示例,echo 语句将不会执行,因为脚本执行在 require
语句返回致命错误后终止
示例
<html>
<body>
<h1>欢迎访问我的主页!</h1>
<?php require 'noFileExists.php';
echo "我有一辆 $color $car.";
?>
</body>
</html>
运行示例 »
当应用程序需要文件时,请使用 require
。
当文件不是必需的并且在文件未找到时应用程序应该继续时,请使用 include
。