php - 函数的相对位置

时间:2017-09-10 08:36:30

标签: php

我有语言文件 - lang.php,我有使用它的功能。功能位于文件夹/func//func/users.func.php)。

现在,我有2个使用该功能的文件:

    主根中的
  1. :firstFile.php

  2. 文件夹“ajax”中的
  3. :ajax / secondFile.php

  4. 问题是函数的相对位置 - 当firstFile调用函数时,调用lang.php的代码是:include lang.php

    当secondFile调用该函数时,调用lang.php的代码将为:include ../lang.php

    但我不能在我的代码中写两个(没有../)...我该如何解决?

    (我试图写./,我尝试使用$_SERVER但没有成功......)

1 个答案:

答案 0 :(得分:0)

好吧,在每个文件中,您都知道自己身在何处。评论中提到的基本方法很少:

  • 确定文档根目录并从那里继续(使用一个文档根目录):

    require $_SERVER['DOCUMENT_ROOT'].'lang.inc'
    
  • 使用有关包含文件的信息

    require __DIR__.'/../lang.inc'; // in ajax/secondfile.php
    // or
    require __DIR__.'/lang.inc';    // in firstfile.php
    

你可能想要require_once,因为很明显,你从另一个第二个文件中包含了一些firstfile。

更新:您希望将此策略应用于所包含的文件,因为其工作目录由调用脚本确定