欢迎各位兄弟 发布技术文章

这里的技术是共享的

You are here

php include path

shiping1 的头像

php设置include路径的方法

有两种方法来设置php的include_path.

一:修改php.ini文件中的include_path项。

例:include_path = .:/usr/local/lib/php:./include

二:使用ini_set方法(对于无法修改php.ini的情况)。

例:ini_set("include_path", ".:../:./include:../include

 

include_path补充

include_path用来设置include()或require()函数包含文件的参考路径.
也就是说当使用include()或require()函数包含文件的时候,程序首先以include_path设置的路径作为参考点去找文件,如果找不到,则以程序自身所在的路径为参考点去找所要的文件,如果都找不到,则出错.
当include_path设置了多个参考路径(每个路径用分号隔开)时,排在前面的路径优先找.

例如: ini_set('include_path','d:\www\mysite\test;d:\www\mysite\test2');
include('aaa/test.php');
程序会先以路径d:\www\mysite\test为参考去找aaa/test.php,若没有,再以d:\www\mysite\test2为参考去找,再没有,则以自身所在路径为参考去找.

来自 http://hi.baidu.com/zhangcuibao/item/3646cbbb067581d584dd79ab




在php文件里设置
set_include_path

(PHP 4 >= 4.3.0, PHP 5)

set_include_path设置 include_path 配置选项

reject note 说明

string set_include_path ( string $new_include_path )

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

reject note 参数

 

new_include_path

include_path 新的值。

reject note 返回值

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

reject note 范例

 

Example #1 set_include_path() 例子

<?php
// 自 PHP 4.3.0 起可用
set_include_path('/usr/lib/pear');

// 在所有版本的 PHP 中均可用
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);
?>

reject note 参见

 



set_magic_quotes_runtime> <restore_include_path
[edit] Last updated: Fri, 08 Nov 2013
 
reject note add a note add a note User Contributed Notes set_include_path - [5 notes]
chris-r3i
6 years ago
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
cloxy at cloxy dot com
1 year ago
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.
parks at vecinc dot com
4 years ago
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.
df a t dougfelton d o t c o m
8 years ago
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.
koenig at electronova dot net
7 years ago
You can also add several paths in one set_include_path separating them by ':'.
ex : set_include_path('/home/mysite/includes1:/home/mysite/includes2')


来自 http://php.net/manual/zh/function.set-include-path.php

 
普通分类: