新手问题在这里,是否有任何内置的PHP标签可用于检索页面的URL并在屏幕上回显它?
感谢。
答案 0 :(得分:2)
回显当前页面的网址。
$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 :(得分:1)
如果您的Web服务器在标准端口上运行(HTTP为80或HTTPS为443),则可以使用:
getservbyport($_SERVER['SERVER_PORT'], 'tcp') . '://' . $_SERVER['HTTP_HOST'] . $_SERVER['REQUEST_URI']
答案 2 :(得分:0)
查看$_Server变量。具体来说,您可能需要REQUEST_URI
值。
答案 3 :(得分:0)
$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等各种因素如何以不同方式设置某些全局变量或完全没有。