Новый вопрос здесь, есть ли встроенный тег PHP, который можно использовать для извлечения URL-адреса страницы и эхо-сигнала на экране?Как получить URL-адрес страницы с помощью PHP?
Спасибо.
Новый вопрос здесь, есть ли встроенный тег PHP, который можно использовать для извлечения URL-адреса страницы и эхо-сигнала на экране?Как получить URL-адрес страницы с помощью PHP?
Спасибо.
Echos 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 очень симпатичный. @OP: вы можете видеть все доступные вам переменные сервера (порт, различные URI, заголовки запросов и языки и т. Д.). Используя 'print_r ($ _ SERVER);' и просматривая исходный код вывода. –
На самом деле это код, который Google использует для поиска своего URL-адреса страницы. –
Спасибо Chacha, это работает. Я думал, что может быть встроенный тег, похожий на php_info, поскольку это похоже на очень стандартную задачу, но, по-видимому, нет. – Jackie
Посмотрите на переменную $_Server. В частности, вы, вероятно, хотите получить значение REQUEST_URI
.
$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
vs HTTPS
, mod_rewrite
, и даже Apache и IIS могут устанавливать некоторые глобальные переменные по-разному или вообще не работать.
Если ваш веб-сервер работает на стандартных портах (80 для HTTP или 443 для HTTPS), это будет работать:
getservbyport($_SERVER['SERVER_PORT'], 'tcp') . '://' . $_SERVER['HTTP_HOST'] . $_SERVER['REQUEST_URI']
Какие страницы? Текущий (т. Е. Тот, который генерируется самим скриптом PHP)? –
Это очень похоже на: http://stackoverflow.com/questions/2079457/www-to-non-www-redirect-with-php/2079463#2079463. И посмотрите, я использовал ту же функцию, чтобы ответить на него! –