Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/275.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何使用PHP检索页面的URL?_Php_Url - Fatal编程技术网

如何使用PHP检索页面的URL?

如何使用PHP检索页面的URL?,php,url,Php,Url,这里的新手问题是,是否有任何内置的PHP标记可以用来检索页面的URL并在屏幕上回显 谢谢。回显当前页面的URL $pageURL = (@$_SERVER["HTTPS"] == "on") ? "https://" : "http://"; if ($_SERVER["SERVER_PORT"] != "80") { $pageURL .= $_SERVER["SERVER_NAME"].":".$_SERVER["SERVER_PORT"].$_SERVER["REQUEST_URI

这里的新手问题是,是否有任何内置的PHP标记可以用来检索页面的URL并在屏幕上回显


谢谢。

回显当前页面的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;
看看这个变量。具体来说,您可能需要
请求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
 sample.org/test.php?stuff=junk
您必须添加更多的$\u服务器变量才能获得方案(
http://
REQUEST\u URI
也会保留所有
GET
变量不变,因此如果页面请求是
http://sample.org/test.php?stuff=junk
,您将获得:

 sample.org/test.php
 sample.org/test.php?stuff=junk
如果您不想这样做,请使用
$\u SERVER['PHP\u SELF']
而不是
请求URI

如果您想以一种非常简单的方式查看哪些全局变量可用,请创建一个包含以下内容的页面:

<?php

phpinfo();

?>


并将该脚本放在您感兴趣的任何目录中。您不仅可以看到各种简洁的信息,还可以看到各种因素,例如
HTTP
vs
HTTPS
mod_rewrite
,甚至Apache vs IIS可以设置不同的全局变量,或者根本不设置这些变量。

如果您的web服务器在标准端口上运行(HTTP为80,HTTPS为443),这将起作用:

getservbyport($_SERVER['SERVER_PORT'], 'tcp') . '://' . $_SERVER['HTTP_HOST'] . $_SERVER['REQUEST_URI']

哪一页?当前的一个(即,由PHP脚本本身生成的一个)?这与:。看,我用了同样的函数来回答它+我非常有节制@OP:您可以使用
print\r($\u server)查看所有可用的服务器变量(端口、各种URI、请求头和语言等)
和查看输出的源代码。这实际上是Google用来查找其页面url的代码。谢谢Chacha,这很有效。我认为可能会有一些类似于php_info的内置标记,因为这似乎是一项非常标准的任务,但显然不是。如果
$\u SERVER[“HTTPS”]=“on”
,我相信您可以使用
$\u SERVER[“SCRIPT_URI”]
获得全部内容。或者这只是Apache的问题?有人在问这个问题:它有问题。