PHP __DIR__或SCRIPT_ROOT混淆

时间:2013-09-12 16:18:32

标签: php html url web reference

我正在网站上工作,文件夹结构变得越来越复杂。我确信这对大多数人来说都是一个简单的问题,但我的结果却不尽相同。

我的文件夹结构类似于:

Root:
    assets
       css
       js
       images
    core
       init.php
    categories
       sub category
           file.php
    includes
        header.php
        footer.php

等等。

init文件将包含在每个文档的顶部,不包括页眉和页脚。

页眉和页脚包含在每个页面中。

我想要取得的成果不是写include '../../includes/footer.php'或包含'../includes/footer.php'而是写include '$root. /includes/footer.php'而不需要担心链接。

同样适用于我的导航栏(位于标题中)如果我想要转到索引并且我在子文件夹中,那么它会尝试将我带到不存在的site/subFolder/index.php 。我想使用相同的想法,并以导航链接为根。文件位置

有人可以帮忙吗?这让我很伤心,而且我确信这很简单,我正在寻找明显的事情。

我输出了DIR和SERVER_ROOT

我可以使用     $bla = $_SERVER['DOCUMENT_ROOT'];//= c:/www $bla.= "/nameOfMyRootFolder";

但想知道最好的方法是什么,因为我一直看到 DIR

的引用

谢谢!

1 个答案:

答案 0 :(得分:1)

$_SERVER['DOCUMENT_ROOT']在网络服务器配置中定义,通常不会更改。

__DIR__ 中使用的文件的目录。

例如:在docroot / includes / header.php __DIR__ == 'docroot/includes'$_SERVER['DOCUMENT_ROOT'] == 'docroot'

Documentation