由于网站需要,我想在www/sub/sub.php中引入www/includes/application_top.php,但这样做会导致路径报错,我使用的是zencart,请问这种情况要怎么做?

解决方案 »

  1.   

    在www/sub/sub.php中引入www/includes/application_top.phprequire '../../includes/application_top.php';
      

  2.   

    我的意思是在不改变或者尽量少修改 application_top.php中的代码情况下,能让所有深度php引用该文件,都不会路径报错,如上图中的www/sub/sub.php 引用../includes/application_top.php会报错,找不到a.php和b.php
      

  3.   

    application_top.php 里面已经写错了,应为:
    require('a.php');
    require('b.php');
      

  4.   

    你的项目有从下层目录访问上层目录的情况,可见你的目录设计不合理。
    合理的设计是始终都是上层访问下层如果你无法避免,那么可以
    1、在公共(通常是 comfig.php)中设置常量 ROOT_PATH,供引入文件时使用
    2、在入口文件中执行
    ini_set('include_path', ini_get('include_path').PATH_SEPARATOR.'/www/'));
    动态设置搜索路径
    3、如有可能,就直接在php.ini中设置 include_path