问小白 wenxiaobai
资讯
历史
科技
环境与自然
成长
游戏
财经
文学与艺术
美食
健康
家居
文化
情感
汽车
三农
军事
旅行
运动
教育
生活
星座命理

PHP 文件包含函数详解:include、require 及其_once 版本

创作时间:
作者:
@小白创作中心

PHP 文件包含函数详解:include、require 及其_once 版本

引用
1
来源
1.
https://www.laixuexila.com/index.php/2025/03/19/php-%E5%8C%85%E5%90%AB%E6%96%87%E4%BB%B6-include-files/

在PHP开发中,合理使用文件包含功能可以有效提高代码的复用性和可维护性。本文将详细介绍PHP中的四个文件包含函数:include()require()include_once()require_once(),帮助你更好地理解和运用这些功能。

基本概念

在 PHP 中,可以通过 include()require() 函数将外部文件引入当前脚本。这样,你可以在多个 PHP 文件之间共享代码,而无需重复编写相同的内容。PHP 提供了四个相关的函数来处理包含文件的操作:include()require()include_once()require_once()

include()

include() 函数将指定文件包含到当前文件中。它会返回文件的内容,并且即使文件不可用,也不会中止脚本的执行。相当于引入了一个外部文件的代码到当前位置。

include("file.php");
  • 如果文件不存在include() 会发出一个警告,并继续执行脚本。

require()

require() 函数与 include() 类似,不同之处在于:如果文件不可用,require() 会产生一个致命错误并停止脚本的执行。

require("file.php");
  • 如果文件不存在require() 会导致致命错误并终止脚本执行。

include_once()

include_once() 只会包含指定文件一次,即使在同一个脚本中多次调用它。即使调用了多次,文件也只会包含一次。

include_once("file.php");
  • 如果文件已经包含 :不会再次包含,避免重复加载相同文件。

require_once()

require_once()require() 相似,唯一的区别是它确保文件仅被包含一次。即使多次调用,文件也只会包含一次。

require_once("file.php");

文件包含的路径

在 PHP 中包含文件时,路径非常重要。你可以使用以下不同方式指定路径:

  • 绝对路径 :指定文件的完整路径,例如 /var/www/html/file.php

  • 相对路径 :相对于当前脚本的路径。例如,../file.php 表示包含上一级目录的 file.php 文件。

  • 包含当前脚本的路径 :可以使用 __DIR__ 常量来指定当前脚本所在目录的路径。

include(__DIR__ . "/file.php");

文件包含的顺序

  1. 引入文件的顺序include()require() 都会在遇到时按顺序执行。如果文件包含失败,接下来的代码会继续执行(include())或停止执行(require())。

  2. 多次包含文件 :如果你需要确保同一个文件只包含一次,可以使用 include_once()require_once()

使用 includerequire 的例子

使用 include

// 载入头部文件
include("header.php");

// 页面主体内容
echo "欢迎来到我的网站!";

// 载入尾部文件
include("footer.php");

使用 require

// 必须包含文件,若文件不存在,程序将停止执行
require("config.php");

// 连接数据库的代码
$connection = mysqli_connect($host, $username, $password);

使用 include_oncerequire_once

// 使用 include_once,确保文件只包含一次
include_once("header.php");
include_once("header.php"); // 这次不会再次包含

// 使用 require_once,确保文件只包含一次
require_once("config.php");
require_once("config.php"); // 这次不会再次包含

错误处理和调试

使用 include()require() 时,如果文件不存在,PHP 会发出一个警告或错误。你可以使用 @ 运算符抑制错误信息(虽然不推荐,因为它隐藏了问题)。更好的做法是检查文件是否存在:

if (file_exists("file.php")) {
    include("file.php");
} else {
    echo "文件不存在!";
}

小结

PHP 提供了 include()require()include_once()require_once() 来帮助开发者在多个文件之间共享代码。include()require() 的区别在于错误处理:include() 出现错误时会发出警告并继续执行,而 require() 会导致致命错误并停止执行。_once 版本的函数确保文件仅被包含一次。

© 2023 北京元石科技有限公司 ◎ 京公网安备 11010802042949号