PHP 包含文件
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 文件。
语法
include '文件名';
或
require '文件名';
PHP include 示例
示例 1
假设我们有一个名为 "footer.php" 的标准页脚文件,内容如下:
<?php
echo "<p>Copyright © 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">Home</a> -
<a href="/html/default.asp">HTML Tutorial</a> -
<a href="/css/default.asp">CSS Tutorial</a> -
<a href="/js/default.asp">JavaScript Tutorial</a> -
<a href="default.asp">PHP Tutorial</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 "I have a $color $car.";
?>
</body>
</html>
运行示例 »
PHP include 与 require
require
语句也用于将文件包含到 PHP 代码中。
但是,include 和 require 之间有一个很大的区别:当使用 include
语句包含一个文件,而 PHP 找不到该文件时,脚本将继续执行。
示例
<html>
<body>
<h1>欢迎来到我的主页!</h1>
<?php include 'noFileExists.php';
echo "I have a $color $car.";
?>
</body>
</html>
运行示例 »
如果我们使用 require
语句进行相同的示例,则 echo 语句不会被执行,因为脚本执行在 require
语句返回致命错误后终止。
示例
<html>
<body>
<h1>欢迎来到我的主页!</h1>
<?php require 'noFileExists.php';
echo "I have a $color $car.";
?>
</body>
</html>
运行示例 »
当应用程序需要某个文件时,请使用 require
。
当文件不是必需的,并且在文件未找到时应用程序应继续运行时,请使用 include
。