Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/269.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

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/sqlite/3.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 - Fatal编程技术网

Php 获取可见的URL

Php 获取可见的URL,php,Php,我想知道如何获得URL(在栏中可见的那个)。 我试着用谷歌搜索,很多答案都是这样写的: $url= "http://".$_SERVER['HTTP_HOST'].$_SERVER['REQUEST_URI']; 但它将获取您所在文件的路径。 我只想获取可见的url,如下所示: www.something.com/index.php?page=teams 然后只获取您可以看到的url,而不是包含的url。当我这样做的时候,我会得到如下结果: www.something.com/search

我想知道如何获得URL(在栏中可见的那个)。 我试着用谷歌搜索,很多答案都是这样写的:

$url= "http://".$_SERVER['HTTP_HOST'].$_SERVER['REQUEST_URI'];
但它将获取您所在文件的路径。 我只想获取可见的url,如下所示:

www.something.com/index.php?page=teams
然后只获取您可以看到的url,而不是包含的url。当我这样做的时候,我会得到如下结果:

 www.something.com/search.php
因为我正在打印包含文件search.php中的URL


我希望你能理解我的问题,尽管写得有点糟糕,但我发现很难解释我的问题。

对于url:
$\u SERVER['REQUEST\u URI']

之后?在url:
$\u服务器['QUERY\u STRING']

这可能会有帮助:

public function getUri()
{
    if (!isset($_SERVER['REQUEST_URI']) or !isset($_SERVER['SCRIPT_NAME'])) {
        return '';
    }
$uri = $_SERVER['REQUEST_URI'];
if (strpos($uri, $_SERVER['SCRIPT_NAME']) === 0) {
    $uri = substr($uri, strlen($_SERVER['SCRIPT_NAME']));
} elseif (strpos($uri, dirname($_SERVER['SCRIPT_NAME'])) === 0) {
    $uri = substr($uri, strlen(dirname($_SERVER['SCRIPT_NAME'])));
}
// This section ensures that even on servers that require the URI to be in the query string (Nginx) a correct
// URI is found, and also fixes the QUERY_STRING server var and $_GET array.
if (strncmp($uri, '?/', 2) === 0) {
    $uri = substr($uri, 2);
}
$uri = parse_url($uri, PHP_URL_PATH);
// Do some final cleaning of the URI and return it
    return str_replace(array('//', '../'), '/', trim($uri, '/'));
}

使用
$\u服务器['REQUEST\u URI']


$actual\u link=“http://$\u服务器[http\u主机]$\u服务器[REQUEST\u URI]”

你是说你想要URL减去协议吗?(
http://
)不。我想要“可见”的url。带着问号和东西我不知道你说的“可见”URL是什么意思-在我的例子中,整个URL都是可见的..好的。我回显search.php中的url。这就是我在脚本中包含的文件。然后,如果我使用前面显示的方法,它将显示www.something.com/search.php。但这不是顶部的url。顶部的URL是www.something.com/index.php?page=teams,这就是我不想显示的内容啊,好吧,我现在明白多了。是
search.php
包含
d到
index.php
?谢谢你的回答。但是我不能让它不起作用。。只要我写查询字符串,它就不会显示任何内容。www.domain.com/?type=home