目录

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';

or

require ' filename';

PHP 包含示例

示例1

假设我们有一个名为 "footer.html" 的标准页脚文件,如下所示:

<?php
echo "<p>Copyright &copy; 1999-" . date("Y") . " 91xjr.com</p>";
?>

要将页脚文件包含在页面中,请使用include陈述:

示例

<html>
<body>

<h1>Welcome to my home page!</h1>
<p>Some text.</p>
<p>Some more text.</p>
<?php include 'footer.html';?>

</body>
</html>
运行示例 »


示例2

假设我们有一个名为 "menu.html" 的标准菜单文件:

<?php
echo '<a href="/default.html">Home</a> -
<a href="/html/default.html">HTML Tutorial</a> -
<a href="/css/default.html">CSS Tutorial</a> -
<a href="/js/default.html">JavaScript Tutorial</a> -
<a href="default.html">PHP Tutorial</a>';
?>

网站中的所有页面都应使用此菜单文件。实现方法如下(我们使用 <div> 元素,以便稍后可以使用 CSS 轻松设置菜单样式):

示例

<html>
<body>

<div class="menu">
<?php include 'menu.html';?>
</div>

<h1>Welcome to my home page!</h1>
<p>Some text.</p>
<p>Some more text.</p>

</body>
</html>
运行示例 »

示例3

假设我们有一个名为 "vars.html" 的文件,其中定义了一些变量:

<?php
$color='red';
$car='BMW';
?>

然后,如果我们包含 "vars.html" 文件,则可以在调用文件中使用变量:

示例

<html>
<body>

<h1>Welcome to my home page!</h1>
<?php include 'vars.html';
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.html';
echo "I have a $color $car.";
?>

</body>
</html>
运行示例 »

如果我们使用相同的示例require语句时,echo 语句将不会被执行,因为脚本执行结束后就终止了require语句返回致命错误:

示例

<html>
<body>

<h1>Welcome to my home page!</h1>
<?php require 'noFileExists.html';
echo "I have a $color $car.";
?>

</body>
</html>
运行示例 »

使用require当应用程序需要该文件时。

使用include当不需要文件时,应用程序应在未找到文件时继续。


PHP练习

通过练习测试一下

练习:

编写正确的语法以包含名为"footer.html" 的文件。

<?php ;?>