Я делаю платеж через 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.
используйте это
http://".$_SERVER['HTTP_HOST']."/store_esp/
и после этого используйте имя файла как notify.php
$_SERVER['HTTP_HOST'] даст доменное имя
$_SERVER['HTTP_HOST']
http://localhost/website
. В приведенном выше URL-адресе домен localhost. Как я думаю, website никогда не меняется на website1 или website2, поэтому выможет статически упомянуть об этом в вашем URL.
localhost
website
website1
website2
Эта функция 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