set_include_path() &&get_include_path()用法

function initialize()
{
    set_include_path(get_include_path().PATH_SEPARATOR . "core/");
    set_include_path(get_include_path().PATH_SEPARATOR . "app/");
    set_include_path(get_include_path().PATH_SEPARATOR . "admin/");
    set_include_path(get_include_path().PATH_SEPARATOR . "lib/");
    set_include_path(get_include_path().PATH_SEPARATOR . "include/");
    set_include_path(get_include_path().PATH_SEPARATOR."data/");
    set_include_path(get_include_path().PATH_SEPARATOR."cache/");
}
    这样它的路径就成了:
    .;C:\php5\pear;core/;app/;admin/;lib/;include/;data/;cache/
    哎,我们发现前面还有个.;C:\php5\pear;这到底是怎么回事呢,其实我们如果什么也不写直接先输出一下include_path的默认值,就会发现它就是.;C:\php5\pear;它可以允许随便去一个引入文件。
    如果再加载了许多文件夹的话,我们直接写文件名就可以了!
   但是正如我最开始那个问题一样,为什么我们公司的代码和人家的就不一样呢,原来,如果我就写一个
          set_include_path(dirname(__FILE__));
   然后去引入其他文件夹的文件,就会报错,说在我指定的这个文件夹内找不到。
      首先,我们先用另外一种方法输出一下:
       <?php
           set_include_path(dirname(__FILE__));
           $include_value = ini_get(‘include_path‘);
           echo $include_value;
       ?>
      结果是:D:\AppServ\www
      我如果去www下找test4.php这个文件,则没有报错
      include("test4.php");
      但是我如果去找
      include("test1.php");
      就会报错:
      Warning: include() [function.include]: Failed opening ‘test1.php‘ for inclusion (include_path=‘D:\AppServ\www‘) in D:\AppServ\www\test.php on line 6
     而且我们还发现
.;C:\php5\pear;已经被替换掉了。所以我们在使用的时候,如果不是仅在一个文件夹下引入文件,我们就需要在前面加上get_include_path().PATH_SEPARATOR .
     解释一下:
            get_include_path()是获取当前include_path的默认值
            PATH_SEPARATOR 是个常量,是include的路径分界符合,在window上是;在unix和Linux上是:
     最后,我还要说一下,其实我们也可以通过另外一种方法:即最原始的:
           ini_set(‘include_path‘, ‘目录名‘); 
    另外,需要注意的两点就是:
           如果在指定的目录下找不到所要求包含的文件,而在当前页面目录下正好存在这个名称的文件时,则默认引入当前目录下的该文件。
           当指定了多个目录为 include_path ,而所要求包含的文件在这几个目录都有相同名称的文件存在时,php选择使用设定 include_path 时排位居前的目录下的文件。

时间: 2024-08-04 18:33:52

set_include_path() &&get_include_path()用法的相关文章

set_include_path和get_include_path用法详解

今天在公司研习源码时,看到了set_include_path(dirname(__FILE__));这样一行代码,甚为不解.于是我就百度了一下,顺便看了一下php.net的手册,可是还是不太明白它到底有什么作用.   偶然见看到一段另外一段代码,然后突发灵感,测试了一下,果然不出所料!   现在我总结一下吧:   首先set_include_path这个函数呢,是在脚本里动态地对PHP.ini中include_path进行修改的.而这个include_path呢,它可以针对下面的include和

【php】set_include_path和get_include_path用法详解

目的:在框架中方便加载文件 参考:http://blog.sina.com.cn/s/blog_4ce89f200100twbl.html 如果我们没有设置这个值,可能我们需要写一些完全的路径:       <?php          include("123/test1.php");          include("123/test2.php");          include("123/test3.php");        

set_include_path get_include_path

set_include_path("123/"); get_include_path — 获取当前的 include_path 配置选项 string get_include_path ( void ) function initialize() { set_include_path(get_include_path().PATH_SEPARATOR . "core/"); set_include_path(get_include_path().PATH_SEPAR

set_include_path()的用法

朋友们 开发的时候 ,总会 遇到 include_once()的情况.有时候,我们需要大量的引用文件,但是被引用文件的路径有时候是个问题.  我们可以把 经常要引用 的文件,放在一个 文件夹中,我们取名为include,这样 我们 就把 该文件夹 当做 默认的引用路径. 我们可以 用 set_include_path() 来设定,多个路径 可以用 路径分隔符分开(windows为';',linux为':'). 例: define('INCLUDE_PATH','/include/'); set_

php get_include_path();是干嘛的、??还有set_include_path();/?????

首先 我们来看这个全局变量:__FILE__ 它表示文件的完整路径(当然包括文件名在内) 也就是说它根据你文件所在的目录不同,有着不同的值:当然,当它用在包行文件中的时候,它的值是包含的路径: 然后: 我们看这个函数: string dirname ( string path ) 它是PHP内置函数,它的作用是什么呢,就是返回除了本文件名以外的所在目录,给你举个例子 假如你的首页中用到了_FILE_这个变量: (假设你的网页所在目录为:),那么: _FILE_的值为(一个绝对路径).而此时dir

php set_include_path

string set_include_path ( string $new_include_path ) 为当前脚本设置 include_path 运行时的配置选项. Example #2 添加到include path 利用常量 PATH_SEPARATOR 可跨平台扩展 include path. 这个例子中我们把 /usr/lib/pear 添加到了 现有的 include_path 的尾部. <?php$path = '/usr/lib/pear';set_include_path(ge

PHP中使用set_include_path动态设置文件加载扫描路径

/index.php/include/config.php 下面是index.php <?php  $path = '/usr/lib/pear';  set_include_path(get_include_path() . PATH_SEPARATOR . $path); //设置后的include_path变为类似/usr/lib/function;/usr/lib/pear  include("config.php"); //先搜索当前目录->搜索get_inclu

set_include_path详细解释(转)

首先我们来看这个全局变量:__FILE__它表示文件的完整路径(当然包括文件名在内)也就是说它根据你文件所在的目录不同,有着不同的值:当然,当它用在包行文件中的时候,它的值是包含的路径: 然后:我们看这个函数:string dirname ( string path )它是PHP内置函数,它的作用是什么呢,就是返回除了本文件名以外的所在目录,给你举个例子假如你的首页中用到了_FILE_这个变量:(假设你的网页所在目录为:http://localhost/web/index.php),那么:_FI

phpexcel入门

最近接触了一下PHP.发现入门倒还蛮容易的,毕竟和C++很像.但是入门的内容无非是一些最简单的基础,真正的难点在于PHP的很多拓展. 这几天概要的学习了一下PHPExcel,之所以说自己是概要的学习,是因为主要是以看网上的例子作为学习的主线,结合官方pdf文档. 下面就简要的对于近期的学习做一个小结. 1. 结构: PHPExcel的构建具有很清晰的结构.明确了这个点,对于接下来的学习至关重要. 工作簿: 官方文档中叫workbook.对应PHPExcel中的PHPExcel类. 工作表: wo