在服务器执行之前,可以将PHP文件的内容包含到另一个PHP文件中。有两个PHP函数可以用来在一个PHP文件中包含另一个PHP文件。
include()
函数require()
函数
这是PHP的一个优点,它有助于创建可在多个页面上重用的函数,页眉,页脚或元素。 这将帮助开发者轻松地改变整个网站的布局。 如果有任何需要更改,不需要更改多个文件,而只是改变包含的文件。
1. include()函数
include()
函数获取指定文件中的所有文本,并将其复制到使用include
函数的文件中。 如果在加载文件时出现任何问题,则include()
函数会生成警告,但脚本将继续执行。
假设想为网站创建一个通用菜单。然后用下面的内容创建一个文件menu.php
。
<a href="http://www.yiibai.com/index.html">首页</a> |
<a href="http://www.yiibai.com/ebxml">企业文化</a> |
<a href="http://www.yiibai.com/ajax">产品</a> |
<a href="http://www.yiibai.com/ajax">服务</a> |
<a href="http://www.yiibai.com/ajax">加入我们</a> |
<a href="http://www.yiibai.com/perl">关于我们</a>
假设网站有很多个页面,需要创建如上面的头部链接菜单,可通过包括这个文件(menu.php)来创建头部链接菜单。例如,首页:index.php
文件可使用以下代码内容。
<html>
<body>
<meta charset="utf-8" />
<title>PHP文件包括示例</title>
<?php include("menu.php"); ?>
<hr/>
<p>This is an example to show how to include PHP file!</p>
<p>
This is the Home page.
</p>
</body>
</html>
执行上面示例代码,得到类似下面的结果 -
2. require()函数
require()
函数获取指定文件中的所有文本,并将其复制到使用包含函数的文件中。 如果在加载文件时有任何问题,那么require()
函数就会产生一个致命错误,并停止脚本的执行。
require()
和include()
除了处理错误条件外没有其它区别。建议使用require()
函数而不是include()
,因为如果文件丢失或命名错误,脚本不应该继续执行。但是执行效率上,include()
要比require()
更快一些。
可以尝试使用require()
函数的上面的例子,它会产生相同的结果。 但是,如果会尝试下面的两个例子,文件不存在,那么会得到不同的结果。
<html>
<body>
<meta charset="utf-8" />
<title>PHP文件包括示例</title>
<?php include("nofound-menu.php"); ?>
<hr/>
<p>This is an example to show how to include PHP file!</p>
<p>
This is the Home page.
</p>
</body>
</html>
执行上面示例代码,得到类似下面的结果 -
如上图中,可以看到除了警告以外,下方有正常输出内容。
下面再来看看使用require
的情况。
<html>
<body>
<meta charset="utf-8" />
<title>PHP文件包括示例</title>
<?php require("nofound-menu.php"); ?>
<hr/>
<p>This is an example to show how to require PHP file!</p>
<p>
This is the Home page.
</p>
</body>
</html>
执行上面示例代码,得到类似下面的结果 -
注 - 您可能会收到简单的警告消息或致命错误消息或什么都没有显示。 这取决于你的PHP服务器配置。