PHP include 语句

phpserver side programmingprogramming更新于 2025/7/18 19:22:17

简介

借助 include 语句,可以将一个文件中的 PHP 代码供另一个 PHP 脚本使用。此功能支持模块化程序开发,只需编写一次函数和类,即可在需要时调用。

include 语句默认检查当前文件夹中的文件,并进一步检查 php.ini 文件 include_path 设置中指定的目录。如果当前文件夹和 include_path 文件夹中均不存在请求的文件,PHP 解析器将发出 E_WARNING 警告,并继续执行调用模块。

被包含的文件可以访问在包含之前在调用模块中定义的变量。这些变量具有全局作用域。

include 示例

以下示例中,主 PHP 脚本包含 test.php

示例

<?php
echo "inside main script
"; $var1=100; echo "now calling test.php script
"; include "test.php"; echo "returns from test.php"; ?> //test.php <?php $var2=200; //accessing $var1 from main script echo $var1+$var2 . "
"; ?>

输出

当主脚本从命令行运行时,将产生以下结果−

inside main script<br />now calling test.php script<br /><br />300<br />returns from test.php

包含失败警告

以下示例中,尝试包含不存在的文件会导致警告

示例

<?php
echo "inside main script
"; $var1=100; echo "now calling nosuchfile.php script
"; include "nosuchfile.php"; echo "returns from nosuchfile.php"; ?>

输出

这将产生以下结果。请注意,程序不会因警告而终止 −

inside main script
now calling nosuchfile.php script
PHP Warning: include(nosuchfile.php): failed to open stream: No such file or directory in line 5
PHP Warning: include(): Failed opening 'nosuchfile.php' for inclusion (include_path='C:\xampp\php\PEAR') in line 5
returns from nosuchfile.php

从函数内部引入

在下一个示例中,test.php 被引入到函数内部。引入文件中的代码将被视为函数的一部分。因此,引入文件中的变量在函数外部无法访问

示例

//main script
<?php
function myfunction(){
   $var1=100;
   include "test.php";
   echo $var1+$var2."
"; } myfunction(); echo "variable from included file outside function: $var2"; ?> //test.php included <?php echo "test.php called from inside function
"; $var2=200; return; ?>

输出

当从命令行运行主脚本时将产生以下结果−

100
test.php called from inside function
PHP Notice: Undefined variable: var2 in C:\xampp\php\testscript.php on line 9
Notice: Undefined variable: var2 in C:\xampp\php\testscript.php on line 9
variable from included file outside function

从包含文件返回

包含语句成功时返回 TRUE,失败时返回 FALSE。如果包含文件明确返回表达式,则可以通过调用模块来使用该表达式进行进一步处理。

示例

//main script
<?php
$result=include "test.php"; // returns value
echo "retun value : $result
"; $y=include "test1.php"; //with return only echo "return value : $y
"; $x=include "test2.php"; //no return statement echo "return value : $x
"; ?> //test.php <?php $var=100; return $var; ?> //test1.php <?php $var=100; return; ?> //test2.php <?php $var=100; ?>

输出

这将产生以下结果 −

retun value : 100
return value :
return value : 1

相关文章