找不到文件是因为你两个目录名都是起test的原因.

解决方案 »

  1.   

    这种情况建议你定义一个全局path。
      

  2.   

    是个回答是错误的,因为这种向上引用的,最好用上全路径.
    test.php  <? require_once('test/a.php'); ?>a.php     <? require_once('./test/test/c.php'); ?>c.php     <? require_once('./test/b.php');   ?>
      

  3.   

    jakey9826(无眠)胡说。同名目录在很多情况下都有可能存在呀。
    只要不在同一级就行了呀。我刚试了,改了名还是不行
      

  4.   

    瀑布寒:jakey9826(无眠) 你怎么就不测试一下可行性呢。
      

  5.   

    那个根目录,比方说:
    $rootPath = $_SERVER['DOCUMENT_ROOT'];
      

  6.   

    “../b.php”的指向应该是DOCUMENT_ROOT/b.php,是www根目录下的,而不是上一级
      

  7.   

    test.php  <? require_once('test/a.php'); ?>a.php     <? require_once('test/c.php'); ?>c.php     <? require_once('../b.php');   ?>
    请使用\代替 /
      

  8.   

    c.php     <? require_once('../b.php');   ?>-------------------------------------it has no error.check if the b.php exists .....
      

  9.   

    c.php     <? require_once('b.php');   ?>理由很简单
    虽然在操作系统中./和../都是相对目录的表示,但是在php中缺是把他们视为绝对路径处理的在
    test.php  <? require_once('test/a.php'); ?>
    a.php     <? require_once('test/c.php'); ?>

    c.php     <? require_once('../b.php');   ?>
    由于a.php已经被嵌入test.php了,所以再嵌入b.php时是按相对test.php所在路径查找的
    所以../b.php是找不到的包含文件应该组织成向下包含的格局。而向上包含是不可取的
      

  10.   

    1、b.php  文件确实存在
    2、\和/ 只是操作系统的区别
    3、用绝对路径肯定没问题,但做为一个类库,要做别人下载使用时,你还能要求别人提供路径吗?应该做到,放在哪个目录下,都能使用。
    4、虽然这个嵌套不可取,但有些地方确实要用到!
      

  11.   

    不解
    不知道是不是xuzuning(唠叨)所说的.
      

  12.   

    按照 xuzuning(唠叨) 所说的意思。重写 c.php 
    <? require_once('test/b.php'); ?>结果运行正确了!那这样子的话,多重多级的嵌套就复杂了。。
      

  13.   

    目录形式
      www
       |- test.php
       |- test1
       |   |- a.php
       |   |- b.php
       |   |- test2
       |   |   |- c.php
    test.php  <? require_once('test1/a.php'); ?>a.php     <? require_once('test2/c.php'); ?>c.php     <? require_once('test1/b.php'); ?>总体如下。得出来的结论是,这样子的灵活性变得小了,因为c.php 是不可以单独变嵌入的了。
    否则将找不到 b.php 文件.终于理解了,你们理解了吗?