Как получить URL страницы, используя PHP? - PullRequest
1 голос
/ 18 января 2010

Вопрос новичка здесь, есть ли какой-либо встроенный тег PHP, который можно использовать для получения URL-адреса страницы и отображения его на экране?

Спасибо.

Ответы [ 4 ]

2 голосов
/ 18 января 2010

Выводит URL текущей страницы.

$pageURL = (@$_SERVER["HTTPS"] == "on") ? "https://" : "http://";
if ($_SERVER["SERVER_PORT"] != "80")
{
    $pageURL .= $_SERVER["SERVER_NAME"].":".$_SERVER["SERVER_PORT"].$_SERVER["REQUEST_URI"];
} 
else 
{
    $pageURL .= $_SERVER["SERVER_NAME"].$_SERVER["REQUEST_URI"];
}
echo $pageURL;
1 голос
/ 18 января 2010

Если ваш веб-сервер работает на стандартных портах (80 для HTTP или 443 для HTTPS), это будет работать:

getservbyport($_SERVER['SERVER_PORT'], 'tcp') . '://' . $_SERVER['HTTP_HOST'] . $_SERVER['REQUEST_URI']
0 голосов
/ 18 января 2010
$base_url = _SERVER["HTTP_HOST"];
$url_path = _SERVER["REQUEST_URI"];

echo $base_url.$url_path;

Предполагая, что запрашиваемая страница была http://sample.org/test.php, вы получите:

 sample.org/test.php

Вам потребуется добавить еще переменные $ _SERVER, чтобы получить схему (http://).REQUEST_URI также оставляет любые GET переменные без изменений, поэтому, если запрос страницы был http://sample.org/test.php?stuff=junk, вы получите:

 sample.org/test.php?stuff=junk

Если вы хотите, чтобы это было прекращено, используйте $_SERVER['PHP_SELF'] вместо REQUEST_URI.

Если вы хотите действительно простой способ узнать, какие глобальные переменные доступны, создайте страницу со следующим:

<?php

phpinfo();

?>

и поместите этот скрипт в любой каталог, который вам интересен.Вы не только увидите все виды полезной информации, вы также увидите, как различные факторы, такие как HTTP против HTTPS, mod_rewrite и даже Apache против IIS, могут устанавливать некоторые глобальные переменные по-разному или не устанавливать их вообще.

0 голосов
/ 18 января 2010

Посмотрите на переменную $ _ Server .В частности, вы, вероятно, хотите значение REQUEST_URI.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...