RESELLER账户的等价路径?

时间:2012-02-20 21:01:21

标签: php path shared-hosting

我在Hostgator 共享主机帐户中使用此$ path,它运行正常:

$path = dirname($_SERVER["DOCUMENT_ROOT"]).'/';

即。此路径为 / home / username / public_html /

以下是我如何使用它的示例:

<?php 
$path = dirname($_SERVER["DOCUMENT_ROOT"]).'/';
include($path.'stats.php');
?>

我的问题是此$ path 在我的新Hostgator 转销商帐户中无效。

有谁知道为什么这不适用于转销商托管以及我可以使用哪条路径?

理想情况下,我会使用“if else”,以便在共享和转销商帐户中使用相同的代码。

以下工作如何:

<?php 
if(strpos($_SERVER['SCRIPT_FILENAME'],$_SERVER['DOCUMENT_ROOT'])===false) {
        // for reseller accounts
        $path = WHATEVER_THE_RESELLER_PATH_IS;
    }
    else {
        // for shared hosting accounts
        $path = dirname($_SERVER["DOCUMENT_ROOT"]).'/';
    }
include($path.'stats.php');
?>

我从这里得到了上述“if”:PHP strange DOCUMENT_ROOT

2 个答案:

答案 0 :(得分:0)

dirname(__FILE__);将指向执行此语句的文件的目录。如果你知道它在哪里,你可以通过这种方式找到你的文档。

答案 1 :(得分:0)

我不会构建依赖于$_SERVER['DOCUMENT_ROOT']的应用程序,始终与您的Web根目录保持一致。您的应用程序应该与其托管环境松散耦合:他们应该尽可能少地了解它,以便在环境之间移动的问题更少。

例如,WordPress使用ABSPATH常量来存储WordPress目录的绝对路径:

文件:/example/hosting/env/public_html/blog/wp-config.php

会有代码行:

define('ABSPATH', dirname(__FILE__) . '/');

WordPress知道所有文件相对于保存wp-config.php的目录的位置,因此构建了相对于该文件路径的所有文件路径。下面的代码行是:

require_once(ABSPATH . 'wp-settings.php');

定义ABSPATH后,它将用作WordPress其余部分的基本文件路径。