Эквивалентный путь на аккаунте RESELLER? - PullRequest
0 голосов
/ 21 февраля 2012

Я использую этот путь $ в моих учетных записях Hostgator Shared Hosting , и он отлично работает:

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

т.е. этот путь / home / username / public_html /

Вот пример того, как я его использую:

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

Моя проблема в том, что этот $ path не не работает в моей новой учетной записи Hostgator Reseller .

Кто-нибудь знает, почему это не работает для хостинга посредников и какой $ path я могу использовать вместо него?

В идеале я бы тогда использовал "если еще", чтобы я мог использовать один и тот же код в своих учетных записях Shared и Reseller.

Будет ли работать следующее:

<?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');
?>

Я получил вышеупомянутое "если" отсюда: PHP странный DOCUMENT_ROOT .

Ответы [ 2 ]

0 голосов
/ 21 февраля 2012

Я бы не стал создавать приложения, чтобы зависеть от $_SERVER['DOCUMENT_ROOT'], всегда имеющего постоянную связь с вашим веб-корнем. Ваши приложения должны быть слабо связаны со своей хостинговой средой: они должны знать об этом как можно меньше, чтобы между средами было меньше проблем.

Например, 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.

0 голосов
/ 21 февраля 2012

dirname(__FILE__); будет указывать на каталог файла, выполняющего этот оператор.если вы знаете, где он находится, вы можете найти корень документа таким образом.

...