.

PHP 文件包含20

文章作者:eKing
发表时间:2016年11月20日 08:03
浏览次数:1574

PHP 文件包含 include

PHP 文件包含

在我们实际的生产工作中,当构建一个较大的系统时,总有一些内容是需要重复使用的,如一些常用的函数,或者一些公共 html 元素如菜单,页脚等。我们可以把这些公共的内容集中写入一些文件内,然后再根据具体情况,在需要的地方包含进来,这样可以节约大量的开发时间,使代码文件统一简练,以利于更好的维护。

include() 和 require() 语句都可用于这种文件的包含。

下面的例子演示文件包含的用法。

创建一个file.php文件:

<?php

$word = "你好!";

?>

然后在另外的文件如 test.php 中包含它(两个文件在同一目录):

<?php

echo "包含内容为:".$word."<br />";

include("file.php");

echo "包含内容为:".$word;

?>

运行 test.php 输出如下:

包含内容为:

包含内容为:你好!

从上面的例子可以看出,包含文件,可以理解为将被包含的文件用于替换了 include() 语句部分。在包含了文件之后,被包含文件的内容便成为了当前文件的一部分,被包含的内容也开始生效。

include() 与 require() 的区别

require() 语句也可用于文件的包含,在使用上等同于 include() 。但二者也有一些细微差别,可以视实际情况采用 include() 还是 require() 。

二者区别如下:

当包含的文件不存在时(包含发生错误),如果使用 require() ,则程序立刻停止执行,而使用 include() 的话,系统除了提示错误外,下面的程序内容还会继续执行。大多情况下推荐使用 require() 函数,以避免在错误引用发生后的程序继续执行

不管 require() 语句是否执行,程序执行包含文件都被加入进来,include() 只有执行的时候文件才会被包含。所以如果是有条件判断的情况下,用 include() 显然更合适

使用 require() 多次引用时,只执行一次对被引用文件的引用动作,而 include() 则每次都要进行读取和评估后引用文件

PHP 设定系统 include_path 包含路径

系统包含路径

使用include() 或 require() 语句包含文件时,可以写明具体的文件及路径,还有一种方式是设定 PHP 系统包含路径,而在 include() 或 require() 直接包含目标文件。

PHP系统包含路径可以在 php.ini 里面设定(Windows版本):

include_path = ".;e:\php5\includes"

在没有修改 php.ini 权限的条件下,可以使用 PHP 的相关函数来进行系统包含路径 include_path 的设定。

ini_get()

ini_get() 函数用于取得系统配置信息,成功则返回对应的配置信息字符串,否则返回空字串。

语法:

string ini_get( string varname )

参数为配置变量名。

ini_set()

ini_set() 函数用于设定新系统配置信息,成功则返回原来的变量值,失败则返回FALSE。

语法:

string ini_set( string varname, string newvalue )

更改系统包含路径的例子:

<?php

//定义自己应用的包含路径,多个路径以 ; 分隔

define('INC_DIR', '../common;../lib');

$inc_path = ini_get('include_path');

echo "系统 include_path 路径:".$inc_path."<br />";

$inc_path .= ';'.INC_DIR;

ini_set('include_path', $inc_path);

echo "现在系统 include_path 路径:".ini_get('include_path');

//直接包含目录内文件

//include("1.php");

?>

运行结果输出如下:

系统 include_path 路径:.;e:\php5\includes

现在系统 include_path 路径:.;e:\php5\includes;../common ;../lib

设定了系统包含路径之后,可以在 include() 或 require() 语句中直接将需要包含的文件包含进来而无需标明具体路径。而对具体的多个路径,可以如上例所示集中定义:

define('INC_DIR', '../common ;../lib');

提示

php.ini 的参数里面,只有可修改范围为 PHP_INI_ALL 的参数才可以通过 ini_set 来修改,如 include_path 、date.timezone 等。

上一篇:PHP 数学计算19