PHP 5.4包含/要求 - 无法正确获取文件路径

时间:2018-04-23 11:56:57

标签: php include web require filepath

假设我有这个文件:

/Home/user/docs/somewhere/inHere.php

在这个php中,我想要这个:

/Home/user/other/well/buried/place.php

我知道绝对路径和相对路径之间的区别,但似乎无法弄清楚php是如何看待它的,我不断发现文件未找到或不存在'

我在hostgator共享的Web服务器上,如果这与任何事情有关。

3 个答案:

答案 0 :(得分:1)

使用绝对路径包含它。

要么:

include '/Home/user/other/well/buried/place.php'; 

或者从你所处的位置做起,但仍然是绝对的:

include __DIR__ . '/../../other/well/buried/place.php';

魔术常量__DIR__包含写入文件的绝对路径。

如果您只是执行相对路径include '../../and-so-on',如果您将该文件包含在位于其他某个位置的其他文件中,则起点将发生变化。

答案 1 :(得分:0)

从文件位置(某处)你必须向上(到文档)和另一次(向用户),然后进入“其他”,如下所示:

include ("../../other/well/buried/place.php");

你去。

答案 2 :(得分:0)

首先,您可以使用getcwd()获取当前文件夹。

接下来,您可以使用$path = '../../etc'; $realPath = realpath($path)。如果路径错误,它将返回false,如果确实是实际路径,则返回没有相对../的具体路径。

如果你仍然无法获得它,var_dump($path);然后复制路径并尝试cd进入它,那么你应该分析你在那时做错了什么。