include_once("./lib/adodb/adodb.inc.php");

解决方案 »

  1.   

    哦,是相对路径的问题啊。
    解决方法一:
        使用绝对于web根的路径,例如:include_once("/site/lib/dbwrapper.php");
    解决方法二:
        在每个文件的开头加一段话,
    <?
    if(!defined('LIBPATH')) define('LIBPATH', './**/');
    ?>
    你的文件的修改方法:
    test.php里面:
    <?
    if(!defined('LIBPATH')) define('LIBPATH', './lib/');
    include_once("./lib/dbwrapper.php");
    //...........................................
    ?>dbwrapper.php里面:
    <?
    if(!defined('LIBPATH')) define('LIBPATH', './');
    include_once(LIBPATH."adodb/adodb.inc.php");
    //...........................................
    ?>方法3:推荐
    在你的站点的顶级目录加一个config.inc文件,文件用来记录各种饮用的路径
    ----------config.inc----------
    <?
    define('ROOT', 'c:/apache/website/');
    define('LIB', ROOT."lib/");
    define('TPL', ROOT."tpl/");
    //.....
    ?>然后让你的所有的网页的主文件都包含这个文件,通过这个文件来定义你引用的文件的路径
    例如:
    include_once(LIBPATH."adodb/adodb.inc.php");这样好处:
      可以统一的记录你的文件的存放的位置;
      不会出现你说的那种问题;
      整个网站的文件部分更换位置的时候,不用改动每个php文件,只要更改config.inc就可以。第三种方法你可以自己仔细的考虑研究一下。这种方法可能全天的phper都在用,呵呵。
      

  2.   

    可能我没说清楚:我也知道这样可行,但是如果在AAA目录下有一个a.php也要引用那个dbwrapper.php怎么办呢?
      

  3.   

    -------------------------------------
    可能我没说清楚:我也知道这样可行,但是如果在AAA目录下有一个a.php也要引用那个dbwrapper.php怎么办呢?
    -------------------------------------你仔细看看我写的内容,可以的,难道我又没说清楚?----------------------------------
    招聘语文老师一名,呵呵。
    ----------------------------------
      

  4.   

    前面不要加.
    直接include("lib/dbwrapper.php");
      

  5.   

    我写程序都会是将所有的文件,不管那里,不管 >< ><全部一概调到一个文件上去执行。省了很多麻烦,也没有这些烦恼仅供参考!
      

  6.   

    -webroot(是web发布根目录)
        test.php
        -lib(目录)
            dbwrapper.php
            -adodb(目录)
                adodb.inc.php
        -AAA
            -a.php就是说所有的文件 
         ./lib/dbwrapper.php
         ./lib/adodb/adodb.inc.php
         ./AAA/a.php都通过test.php去调用执行。
      

  7.   

    dbwrapper.php里面:
    include_once("adodb/adodb.inc.php");嵌入文件的路径应该是绝对路径。当使用相对路径时,则被处理成相对于当前文件所在目录在网站中若使用在多层目录中存放嵌入文件时,路径始终是一个大问题。
    解决的办法是使所有路径都写作从网站根目录算起的格式,比如
    $path/lib/dbwrapper.php
    $path/lib/adodb/adodb.inc.php$path 可取$_SERVER[DOCUMENT_ROOT']的值
    若$_SERVER[DOCUMENT_ROOT']不可用或不准确的话可以
    1、在首页用session保存路径
    2、在网站根目录下做一获取根目录路径的程序
    比如:
    path.php
    <?php
    echo gwetcwd();
    ?>
    嵌入文件时写作:
    include file_get_contents("http://localhost/path.php")."/lib/dbwrapper.php";
    include file_get_contents("http://localhost/path.php")."/lib/adodb/adodb.inc.php";
      

  8.   

    一般给出相对路径,而相对路径都以网站,所在的目路的根目路为基础,这样就可了,我建议把所有的文件路径放在一个文件之内,当然最好前如的html页面与后台的.php页面分成不同的目录