__DIR__不工作的PHP包括

问题描述:

我想使用PHP包括链接一个.php文件到另一个。结构是这样的:__DIR__不工作的PHP包括

ROOT 
¦ 
+---templates 
¦ ¦ 
¦ +---footer.php 
¦ 
¦ 
+---main 
    ¦ 
    +---maps 
     ¦ 
     +---uk 
      ¦ 
      +---map.php 

使用<?PHP include "../../../templates/navbar.php"; ?>代码链接绝对没问题。

无论使用<?PHP include dirname(__FILE__) . "../../../templates/navbar.php"; ?>

<?PHP include __DIR__ . "../../../templates/navbar.php"; ?>让我绝对没有。我错过了什么?谢谢。

+1

__ DIR __为您提供当前php文件的目录。包括哪些内容? –

+1

可能缺少[快速浏览手册](http://php.net/manual/en/language.constants.predefined.php) – RiggsFolly

+0

在包含echo文本'echo __DIR__之前。 “../../../ templates/navbar.php”;'? – C2486

__DIR__在目录名称中不包括尾部/,因此<?PHP include __DIR__ . "/../../../templates/navbar.php"; ?>是您所需要的。

+0

brill - 非常感谢。这并不完全有我想要的效果。我想将不同文件夹中的多个页面链接到footer.php,但不必更改footer.php中的hrefs以反映包含的来源。 – Scott

+0

我不完全了解原始问题,也许在一个新问题中用更多细节描述它是个好主意。 – Nima