PHP 语法:引入 PHP 脚本 include_once
问题
当我们在一个 PHP 脚本中引入另一个 PHP 脚本时,我们希望避免因失误而导致的重复引入,该怎么做呢?
回答
有两种方法,例如:include_once
、require_once
。
说明
本文主要介绍 include_once
方法。
通过 include_once
语句,可以将一个 PHP 脚本的内容引入另一个 PHP 脚本。如果在 include_once
引入某脚本之前已经引入名字相同的脚本,则 include_once
不会执行该引入操作。当 include_once
语句发生错误的时候,PHP 只生成警告(E_WARNING),脚本会继续执行后面的代码,如果您学习过 include
语句,您应该会发现两者在这方面的表现是相同的。
语法
include_once '文件名';
示例
例 1 —— 引入脚本失败
在本例中,我们尝试引入一个不存在的 PHP 脚本,看看 include_once
语句会怎么处理。
<html>
<body>
<p>这是第一个句子。</p>
<?php
include_once 'fail.php';
?>
<p>这是第三个句子。</p>
</body>
</html>
运行结果:
这是第一个句子。
Warning: include_once(fail.php): failed to open stream: No such file or directory in F:\index.php on line 7
Warning: include_once(): Failed opening 'fail.php' for inclusion (include_path='.;C:\php\pear') in F:\index.php on line 7
这是第三个句子。
从运行结果可以看出,当 include_once
引入脚本失败的时候,PHP 仍然会接着执行后面的代码。
例 2 —— 正常引入
假设我们有一个名为 words.php
的标准脚本:
<?php
echo "<p>这是一个被引入的句子。</p>";
?>
然后我们尝试在同一个文件夹下的另一个 PHP 脚本中通过 include_once
语句引入这个 words.php
脚本:
<html>
<body>
<p>这是第一个句子。</p>
<?php
include_once 'words.php';
?>
<p>这是第三个句子。</p>
<?php
include_once 'words.php';
?>
</body>
</html>
运行结果:
这是第一个句子。
这是一个被引入的句子。
这是第三个句子。
从运行结果可以看出,我们在第二次引入 words.php
脚本无效,所以 include_once
可以帮助我们不重复引入同一个 PHP 脚本。
提示
当我们需要引入的是关键文件(例如:密钥文件)的时候,不可以使用 include_once
,不然可能会造成不可挽回的损失。