在 PHP documentation about required 他们这样说:
require 与 include 相同,但失败时也会产生致命的 E_COMPILE_ERROR 级别错误。换句话说,它会停止脚本,而 include 只会发出一个警告 (E_WARNING) 允许脚本继续。
和for include说这个
include 语句包含并评估指定的文件。 read more
显式示例
使用 include 的这一行将包含 Php 文件,因为该文件存在。
<? include("file1.php"); //This file exists ?>
使用 include 的这一行将在您的界面中显示警告,因为该文件不存在。在您的界面上显示此消息取决于您在 php.ini 中输入的 level of error
<? include("filenotexist.php"); //This file NO exists ?>
结果
Warning: include(filenotexist.php) [function.include]: failed to open stream: No such file or directory in ****** on line 6
Warning: include() [function.include]: Failed opening 'filenotexist.php' for inclusion (include_path='.;C:\php\pear') in **** on line 6
使用 required 的这一行将与包含执行相同的操作,它将包含 php 文件,因为该文件存在。
<? require("file1.php"); //This file exist ?>
此行使用必需,因此您会收到警告和致命错误,因为该文件不存在。 这个致命错误是您要寻找的主要区别。
<? require("filenoexists1.php"); //This file NO exist ?>
结果
Warning: require(filenoexists1.php) [function.require]: failed to open stream: No such file or directory in **** on line 6
Fatal error: require() [function.require]: Failed opening required 'filenoexists1.php' (include_path='.;C:\php\pear') in *** on line 6
还有另一个有趣的函数,叫做required_once。如果您需要多次使用同一个文件
<? require("hola.php"); //This file exist ?>
<? require("hola.php"); //This file exist ?>
<? require("hola.php"); //This file exist ?>
<? require("hola.php"); //This file exist ?>
<? require("hola.php"); //This file exist ?>
结果是 5 次 hola。这是有道理的,因为您 需要该文件 6 次。
hola hola hola hola hola
Required_once即使包含5次,Php也只会包含一次。
<? require_once("hola.php"); //This file exist ?>
<? require_once("hola.php"); //This file exist ?>
<? require_once("hola.php"); //This file exist ?>
<? require_once("hola.php"); //This file exist ?>
<? require_once("hola.php"); //This file exist ?>
结果是
hola
希望对你有帮助
丹尼尔