总有人间一两风,填我十万八千梦

PHP set_include_path 用法 手册 | 示例代码

PHP开发手册 归档 391℃ 0评论

set_include_path

(PHP 4 >= 4.3.0, PHP 5, PHP 7)

set_include_path设置 include_path 配置选项

说明

set_include_path ( string $new_include_path ) : string

为当前脚本设置 include_path 运行时的配置选项。

参数

new_include_path

include_path 新的值。

返回值

成功时返回旧的 include_path 或者在失败时返回 FALSE

范例

Example #1 set_include_path() 例子

<?php
set_include_path
('/usr/lib/pear');

// 或使用 ini_set
ini_set('include_path''/usr/lib/pear');
?>

Example #2 添加到include path

利用常量 PATH_SEPARATOR 可跨平台扩展 include path。

这个例子中我们把 /usr/lib/pear 添加到了 现有的 include_path 的尾部。

<?php
$path 
'/usr/lib/pear';
set_include_path(get_include_path() . PATH_SEPARATOR $path);
?>

参见

用户贡献的笔记

parks at vecinc dot com

If you find that this function is failing for you, and you're not sure why, you may have set your php include path in your sites's conf file in Apache  (this may be true of .htaccess as well)

So to get it to work, comment out any "php_value include_path" type lines in your Apache conf file, and you should be able to set it now in your php code.

chris-r3i

Can be useful to check the value of the constant PATH_SEPARATOR.

<?php
if ( ! defined( "PATH_SEPARATOR" ) ) {
  if (
strpos( $_ENV[ "OS" ], "Win" ) !== false )
   
define( "PATH_SEPARATOR", ";" );
  else
define( "PATH_SEPARATOR", ":" );
}
?>

For older versions of php, PATH_SEPARATOR is not defined.
If it is so, we must check what kind of OS is on the web-server and define PATH_SEPARATOR properly

df a t dougfelton d o t c o m

In order to use .htaccess files to set the include path, PHP must be installed as an Apache module. If PHP is compiled as a CGI binary, you can set the include path in a custom php.ini file (if, for example, you're being hosted somewhere and don't have access to the main php.ini file.  Note that custom php.ini files don't affect subdirectories in the way that .htaccess files do, so you'll need to put your custom php.ini file in any subdirectories as well.

till at etill dot net

It appears that relative paths are allowed:

set_include_path( '..' . DIRECTORY_SEPARATOR . 'source');
require_once( 'Foo.class.php');

cloxy at cloxy dot com

If you want to include files with their absolute path without changing the current include path, you can use the magic constant __DIR__ . For example:

<?php include(__DIR__.'/file.php'); ?>

It is available since PHP 5.3.

koenig at electronova dot net

You can also add several paths in one set_include_path separating them by ':'.
ex : set_include_path('/home/mysite/includes1:/home/mysite/includes2')

转载请注明:悠然品鉴 » PHP set_include_path 用法 手册 | 示例代码

喜欢 (0)or分享 (0)
发表我的评论
取消评论

Hi,您需要填写昵称和邮箱!

  • 昵称 (必填)
  • 邮箱 (必填)
  • 网址