0

这是我们为绝对路径键入的内容:-

echo $_SERVER['DOCUMENT_ROOT'];

输出如下: -

C:/xampp/htdocs

目前我正在一个名为“项目”的文件夹中工作,因此我的项目根目录是:-

echo $_SERVER['DOCUMENT_ROOT'].'/project';

输出将是

C:/xampp/htdocs/project

现在,如果我使用文件夹名称将我的项目上传到网络服务器,请说“网站”,我需要更改

echo $_SERVER['DOCUMENT_ROOT'].'/project';
------------------------------------------
to
------------------------------------------
echo $_SERVER['DOCUMENT_ROOT'].'/website';
------------------------------------------
or if i upload it in root then
------------------------------------------
echo $_SERVER['DOCUMENT_ROOT'];

我需要将文件存储在不同的文件夹和目录级别......那么有什么办法可以让这个东西动态化吗?

我想尽量减少这个障碍,因为一直重命名它可能会浪费很多时间。

一旦我使用 /project 然后 /website 最后直接到 root ... 可能是我们可以绕过这个障碍和声明或东西的任何技巧.. 所以无论我们上传什么,我们只需更改文件中的名称并完成....类似的东西。

4

2 回答 2

3

在根目录中初始化它

dirname(__FILE__)

如果您使用链接目录(将使用原始路径),这将无法正常工作,例如 CodeIgniter

于 2012-03-22T10:57:48.883 回答
0

你可以使用这样的东西

$environments = array(
    'localhost' => 'development',
    'example.com' => 'production',
);

$active_environment = 'development';

foreach( $environments as $key => $value ){

    if( stristr( $_SERVER['SERVER_NAME'], $key ) ){
        $active_environment = $value;
        break;
    }
}

define( 'ENVIRONMENT', $active_environment );

    function getRoot(){

        switch( ENVIRONMENT ){
            case 'production' : return $_SERVER['DOCUMENT_ROOT'].'/website';
            case 'development' : 
            case default: return $_SERVER['DOCUMENT_ROOT'].'/project';

        }
    }
于 2012-03-22T11:00:17.627 回答