PHP 包含文件
include
(或 require
)语句会获取指定文件中存在的所有文本/代码/标签,并将其复制到使用 include
语句的文件中。
当您想在网站的多个页面上包含相同的 PHP、HTML 或文本时,包含文件非常有用。
PHP include 和 require 语句
可以使用 include
或 require
语句将一个 PHP 文件的内容插入到另一个 PHP 文件中(在服务器执行它之前)。
include
和 require
语句是相同的,除了在失败时:
require
将产生致命错误(E_COMPILE_ERROR)并停止脚本include
仅会产生警告(E_WARNING),并且脚本会继续
因此,即使包含文件丢失,如果您希望执行继续并向用户显示输出,可请使用 include
语句。否则,在 Framework、CMS 或复杂的 PHP 应用程序编码中,始终使用 require
语句将关键文件包含到执行流中。这将有助于避免在关键文件意外丢失时损害应用程序的安全性和完整性。
包含文件可以节省大量工作。这意味着您可以为所有网页创建一个标准的页眉、页脚或菜单文件。然后,当需要更新页眉时,您只需更新页眉包含文件。
语法
include 'filename';
或者:
require 'filename';
PHP include 实例
例子 1
假设我们有一个名为 "footer.php" 的标准页脚文件,如下所示:
<?php
echo "<p>Copyright © 1999-" . date("Y") . " w3school.com.cn</p>";
?>
要在页面中包含页脚文件,请使用 include
语句:
<html> <body> <h1>Welcome to my home page!</h1> <p>Some text.</p> <p>Some more text.</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>Welcome to my home page!</h1> <p>Some text.</p> <p>Some more text.</p> </body> </html>
例子 3
假设我们有一个名为 "vars.php" 的文件,其中定义了一些变量:
<?php
$color='red';
$car='BMW';
?>
然后,如果我们包含 "vars.php" 文件,则可以在调用文件中使用这些变量:
<html> <body> <h1>Welcome to my home page!</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>Welcome to my home page!</h1> <?php include 'noFileExists.php'; echo "I have a $color $car."; ?> </body> </html>
如果我们使用 require
语句执行相同的例子,则不会执行 echo
语句,因为脚本执行在 require
语句返回致命错误后终止:
实例
<html> <body> <h1>Welcome to my home page!</h1> <?php require 'noFileExists.php'; echo "I have a $color $car."; ?> </body> </html>
当文件被应用程序需要时,请使用 require
。
当文件不是必需的,且文件未找到时应用程序应继续时,请使用 include
。