在news/php/index.php中调用require_once('news/html/index.html')出错.
这是绝对要出错了,你注意你的文件路径问题!

解决方案 »

  1.   

    我也考虑过这个问题,但是为什么把require_once('news/html/index.html')
    改为require_once('../html/index.html')还是提示同一个错误?
      

  2.   

    你只需要考虑当前文件和被包含文件的相对或绝对关系就可以了。
    你的news/php/index.php中的requre_once改成
    require_once 'news/html/index.html';
    看看。
      

  3.   

    你应该这样写require_once('./news/php/index.php'); 这里的./不是必须的
    require_once('./news/html/index.html'); 这里的./不能少,在被包含文件中再包含文件,必须确定当前位置,./指当前目录开始。
      

  4.   

    但是在news/php/index.php中调用
    require_once('news/html/index.html'),就会报错,说找不到这个文件.---------------------是不是在第三层目录里调用别的目录的文件就找不到?
    如果是这样,那是路径问题.应该写成但是在news/php/index.php中调用
    require_once('../../news/html/index.html'),加两个../就可以了.意思是向上两层目录
      

  5.   

    有这么麻烦吗?直接改成“../html/index.html”不行吗?为什么要向上跳两层目录?
      

  6.   

    我也考虑过这个问题,但是为什么把require_once('news/html/index.html')
    改为require_once('../html/index.html')还是提示同一个错误?
    ————————————————————————
    保存你所有的文件,关掉所有的浏览器窗口,再重新打开看还有没有错误提示?
      

  7.   

    这样不好吗
    include_once('./news/php/index.php'); 
    include_once('./news/html/index.html');
      

  8.   

    假设程序根目录是/var/www/,使用绝对路径有两种方式:1.硬编码define( 'app_root', '/var/www' );2.自动判断define( 'app_root', getcwd() );注意选用第2种方式时运行define( 'app_root', getcwd() );的文件必须是/var/www目录下定义了程序绝对路径以后就好办了,require_once('news/php/index.php');变为require_once( app_root . '/news/php/index.php' );,这样就没有路径烦恼了。为了程序的通用性最后避免硬编码方式。
      

  9.   

    getcwd()取得当前目录的路径,每个文件都不一样吧
    使用define('app_root', $_SERVER['DOCUMENT_ROOT']);就可以得到网站的根目录
      

  10.   

    $_SERVER['DOCUMENT_ROOT']不一定行,跟web服务器设置有关。我已经提示楼主了:注意选用第2种方式时运行define( 'app_root', getcwd() );的文件必须是/var/www目录下