PHP 包含文件

在我们实际的生产工作中,当构建一个较大的系统时,总有一些内容是需要重复使用的, 如一些常用的函数,或者一些公共 html 元素如菜单,页脚等。我们可以把这些公共的内容集中写入一些文件内, 然后再根据具体情况,在需要的地方包含进来,这样可以节约大量的开发时间,使代码文件统一简练,以利于更好的维护。

在PHP中, 有require、require_once、include、include- once四种方法包含一个文件。

函数                包含失败                         特点

Inlcude           返回一条警告                  文件继续向下执行。通常用于动态包含    

Require          一个致命的错                  代码就不会继续向下执行。通常包含极为重要的文件,整个代码甭想执行    

Include_once    返回一条警告               除了原有include的功能以外,它还会做once检测,如果文件曾经已经被被包含过,不再包含    

Require_once    一个致命的错              除了原的功能一外,会做一次once检测,防止文件反复被包含    

PHP include 和 require 语句

在 PHP 中,您可以在服务器执行 PHP 文件之前在该文件中插入一个文件的内容。

include 和 require 语句用于在执行流中插入写在其他文件中的有用的代码。

include 和 require 除了处理错误的方式不同之外,在其他方面都是相同的:

require 生成一个致命错误(E_COMPILE_ERROR),在错误发生后脚本会停止执行。

include 生成一个警告(E_WARNING),在错误发生后脚本会继续执行。

因此,如果您希望继续执行,并向用户输出结果,即使包含文件已丢失,那么请使用 include。 否则,在框架、CMS 或者复杂的 PHP 应用程序编程中,请始终使用 require 向执行流引用关键文件。 这有助于提高应用程序的安全性和完整性,在某个关键文件意外丢失的情况下。

包含文件省去了大量的工作。这意味着您可以为所有网页创建标准页头、页脚或者菜单文件。 然后,在页头需要更新时,您只需更新这个页头包含文件即可。

语法

       include 'filename';

       或者

       require 'filename';            

基础实例

假设您有一个标准的页头文件,名为 "header.php"。如需在页面中引用这个页头文件,请使用 include/require:

<html>
<head>
<meta charset="utf-8">
<title>php中文网(php.cn)</title>
</head>
<body>
<?php include 'header.php'; ?>
<h1>欢迎来到我的主页!</h1>
<p>一些文本。</p>
</body>
</html>

实例 2

假设我们有一个在所有页面中使用的标准菜单文件。

"menu.php":

       echo '<a href="/">主页</a>

       <a href="/html">HTML 教程</a>

       <a href="/php">PHP 教程</a>';        

网站中的所有页面均应引用该菜单文件。以下是具体的做法:

<html>
<head>
<meta charset="utf-8">
<title>php中文网(php.cn)</title>
</head>
<body>
<div class="leftmenu">
<?php include 'menu.php'; ?>
</div>
<h1>欢迎来到我的主页!</h1>
<p>一些文本。</p>
</body>
</html>

实例 3

假设我们有一个定义变量的包含文件("vars.php"):

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

这些变量可用在调用文件中:

<html>
<head>
<meta charset="utf-8">
<title>php中文网(php.cn)</title>
</head>
<body>
<h1>欢迎来到我的主页!</h1>
<?php
include 'vars.php';
echo "I have a $color $car";   // 输出 I have a red BMW
?>
</body>
</html>

实例 4

创建一个file.php文件:

<?php
 $word = "你好!";
?>

然后在另外的文件如 test.php 中包含它(两个文件在同一目录):

<?php
 echo "包含内容为:".$word."<br />";
 include("file.php");
 echo "包含内容为:".$word;
?>

运行 test.php 输出如下:

包含内容为:
包含内容为:你好!  
     

include() 与 require() 的区别

require() 语句也可用于文件的包含,在使用上等同于 include() 。 但二者也有一些细微差别,可以视实际情况采用 include() 还是 require() 。

二者区别如下:

当包含的文件不存在时(包含发生错误),如果使用 require() ,则程序立刻停止执行, 而使用 include() 的话,系统除了提示错误外,下面的程序内容还会继续执行。 大多情况下推荐使用 require() 函数,以避免在错误引用发生后的程序继续执行

不管 require() 语句是否执行,程序执行包含文件都被加入进来, include() 只有执行的时候文件才会被包含。所以如果是有条件判断的情况下,用 include() 显然更合适

使用 require() 多次引用时,只执行一次对被引用文件的引用动作,而 include() 则每次都要进行读取和评估后引用文件

once

include和require分别对应了一个once函数:include_once 和 require_once

函数的功能没有什么差异,主要的作用是避免重复包含


Weiter lernen
||
<html> <head> <meta charset="utf-8"> <title>php中文网(php.cn)</title> </head> <body> <?php include 'header.php'; ?> //引入已经建好的header.php文件 <h1>欢迎来到我的主页!</h1> <p>一些文本。</p> </body> </html>
einreichenCode zurücksetzen