URL-адрес корневого сайта php - PullRequest
1 голос
/ 18 декабря 2010

Я делаю платеж через PayPal, используя данные о товаре в PayPal.Здесь мне нужно указать ссылку на мой notify.php.Для этого мне нужно динамически получить рут моего сайта.как я могу его получить.

моя системная папка имеет структуру C: \ wamp \ www \ website \ store_esp \ notify.php

и мой URL для notify.php должен быть http://domainname/store_esp/notify.php

В настоящее время мое domail-имя http://localhost/website/

Как я могу получить доменное имя динамически, используя php.

Ответы [ 3 ]

4 голосов
/ 18 декабря 2010

используйте это

http://".$_SERVER['HTTP_HOST']."/store_esp/

и после этого используйте имя файла как notify.php

4 голосов
/ 18 декабря 2010

$_SERVER['HTTP_HOST'] даст доменное имя

 http://localhost/website

. В приведенном выше URL-адресе домен localhost. Как я думаю, website никогда не меняется на website1 или website2, поэтому выможет статически упомянуть об этом в вашем URL.

0 голосов
/ 19 марта 2016

Эта функция PHP возвращает реальный URL полного пути.

function pathUrl($dir = __DIR__){

    $root = "";
    $dir = str_replace('\\', '/', realpath($dir));

    //HTTPS or HTTP
    $root .= !empty($_SERVER['HTTPS']) ? 'https' : 'http';

    //HOST
    $root .= '://' . $_SERVER['HTTP_HOST'];

    //ALIAS
    if(!empty($_SERVER['CONTEXT_PREFIX'])) {
        $root .= $_SERVER['CONTEXT_PREFIX'];
        $root .= substr($dir, strlen($_SERVER[ 'CONTEXT_DOCUMENT_ROOT' ]));
    } else {
        $root .= substr($dir, strlen($_SERVER[ 'DOCUMENT_ROOT' ]));
    }

    $root .= '/';

    return $root;
}

Вызов pathUrl в этом файле: http://example.com/shop/index.php

#index.php

echo pathUrl();
//http://example.com/shop/

Работа с псевдонимом: http://example.com/alias-name/shop/index.php

#index.php

echo pathUrl();
//http://example.com/alias-name/shop/

Для подкаталога: http://example.com/alias-name/shop/inc/config.php

#config.php

echo pathUrl(__DIR__ . '/../');
//http://example.com/alias-name/shop/

https://stackoverflow.com/a/36101073/3626097

...