Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/245.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如果在其他脚本中使用,请确保PHP脚本路径正确_Php_Relative Path - Fatal编程技术网

如果在其他脚本中使用,请确保PHP脚本路径正确

如果在其他脚本中使用,请确保PHP脚本路径正确,php,relative-path,Php,Relative Path,在用PHP编写代码时,如何确保脚本的require_once路径被正确翻译,而不管调用脚本在哪里 假设文件夹结构为: ROOT {subfolder {subfolderX 在我的“脚本A”中,它位于一个名为“脚本”的子文件夹中,它需要另一个名为“脚本B”的子文件夹中的另一个脚本,因此我的要求如下所示 require_once("../subfolderX/script B"); 一切正常。但是如果我从另一个脚本调用脚本A,比如说,在一个级别上: require_once("

在用PHP编写代码时,如何确保脚本的require_once路径被正确翻译,而不管调用脚本在哪里

假设文件夹结构为:

ROOT
    {subfolder
    {subfolderX
在我的“脚本A”中,它位于一个名为“脚本”的子文件夹中,它需要另一个名为“脚本B”的子文件夹中的另一个脚本,因此我的要求如下所示

require_once("../subfolderX/script B");
一切正常。但是如果我从另一个脚本调用脚本A,比如说,在一个级别上:

require_once("subfolder/script A");
对脚本B的调用不起作用,因为它现在是相对于新的调用脚本的


确保路径与调用脚本保持相对的正确方法是什么?

一种是在孔项目中使用常量

require_once(ROOT."subfolder/script A");

第二种方法是将根目录控制器置于
php.ini
中,并使所有与此根目录相关的路径使用php魔常量
\uuuuuuu DIR\uuuu
,该常量将指向脚本所在的目录。换句话说,请执行以下操作:

require_once __DIR__ . '/../subfolderX/script B';
与此相反:

require_once '../subfolderX/script B';

回答得很好-谢谢。内存库的另一个片段。我需要添加一个str replace,使DIR中的前斜杠和反斜杠保持不变,但所有这些都很好且有效。谢谢你。我认为如果你不太小心的话,设置常量可能会有问题。我选择了上面的DIR方法,因为它看起来更易于移植?也许??我更喜欢这个版本,因为每个文件中libs的路径都是相同的。。缺点是IDE支持单击包含的文件进行更改,但在这个版本中效果不太好。。