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

