系统包含路径
使用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 等。