PHP包含声明

首页 / 新闻资讯 / 正文

介绍

借助include语句,可以使一个文件中的PHP代码可用于另一PHP脚本中。通过一次编写函数和类并在需要时调用,此功能可实现模块化程序的开发。

缺省情况下,include语句将检查当前文件夹中的文件,并进一步检查php.ini的include_path设置中提及的目录。如果在当前文件夹以及include_path文件夹中都找不到所需的文件,则PHP解析器将发出E_WARNING信息,并继续执行调用模块。

包含的文件可以在包含之前访问在调用模块中定义的变量。这样的变量将具有全局范围。

包含示例

在下面的示例中,主要的php脚本包括test.php------

示例

<?php echo "inside main script\n"; $var1=100; echo "now calling test.php------ script\n"; include "test.php------"; echo "returns from test.php------"; ?> //test.php------ <?php $var2=200; //从主脚本访问$var1- echo $var1+$var2 . "\n"; ?>

输出结果

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

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

警告包含失败

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

示例

<?php echo "inside main script\n"; $var1=100; echo "now calling nosuchfile.php script\n"; 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."\n"; } myfunction(); echo "variable from included file outside function: $var2"; ?> //test.php------ included <?php echo "test.php------ called from inside function\n"; $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

从包含文件返回

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

示例

//main script <?php $result=include "test.php------"; // returns value echo "retun value : $result\n"; $y=include "test1.php---"; //with return only echo "return value : $y\n"; $x=include "test2.php---"; //no return statement echo "return value : $x\n"; ?> //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