获取Base-URL和Absolute-Path的最佳实践

时间:2012-12-15 10:41:43

标签: php

我知道有关于这个主题的一些问题,但它们都包含不同的答案。我想知道从5.4 +

获取基本网址和绝对路径的最有效方法是什么

绝对路径:使用魔法常量

define('ROOT', __DIR__); //C:\wamp\www

或者自己写一次路径

define('ROOT', 'C:\wamp\www');

最终用途:

require ROOT . '/blabla/test.php';

我应该如何获得绝对路径呢?除非没有更好的方法,哪种选择最有效?

关于基本网址,我不太确定如何生成网址。

1 个答案:

答案 0 :(得分:0)

以下是我的一般情况。 请记住我在本地使用apache(Windows)可以处理'/'目录分隔符,不确定IIS等。

文件夹结构:

C:/wamp/www/somefolder
    /index.php
    /core
        /database.php
        /config
            /database.php

的index.php:

// ROOT will be C:/wamp/www/somefolder
define('ROOT', str_replace('\\', '/', dirname(__FILE__)));
define('CORE', ROOT . '/core');
define('CONFIG', CORE . '/config');
require(CORE . '/database.php');

/somefolder/core/database.php:

require(CONFIG . '/database.php');

所以基本上我在index.php文件中使用dirname(__FILE__)。它始终适用于我,是我可靠的方式来获取到根目录的正确路径。