当我这样用include_once()的时候,就会报错,但是我用另外一种方式用的时候却不会报错。
涉及到的文件:
/index.php
/class/func.php
/claaa/cls.conn.php
/class/config.php其中/index.php中有include_oce("class/func.php"),/class/func.php文件中有include_once("cls.conn.php");/class/cls.conn.php文件中有include_once("config.php"),
----------------------------
上面这样是好的,但是当我把那个/class/config.php文件从/class/目录移动到根目录下,而/class/cls.conn.php中的也相应的改成include_once("../config.php");在浏览器中打开/class/cls.conn.php文件,不会报错,但是打开index.php文件就会报错,这个是为什么啊?
就是这个问题困扰着我。
为什么我的引入地址变化的时候,引入不了了。

解决方案 »

  1.   

    用 dirname(__FILE__) 
    如:require_once(dirname(__FILE__).'/../config.php');
      

  2.   

    dirname(__FILE__) 
    正解... 用绝对路径加载不会出错.
      

  3.   

    你可以改用绝对路径,我经常用的是include,incelude_once就很少用的~
      

  4.   

    用 dirname(__FILE__) 
    如:require_once(dirname(__FILE__).'/../config.php'); 文件中有了这句,不管如何包含文件,都是被包含文件的绝对路径,祝你好运
      

  5.   

    include、require(once)对目录的结构方面很复杂的,如果目录结构不好,很容易交叉出错。