📅  最后修改于: 2023-12-03 15:22:15.501000             🧑  作者: Mango
当我们需要获取当前页面的URL或其他URL时,可以使用PHP内置的函数来轻松地实现。在本文中,我们将介绍如何使用PHP获取URL。
获取当前页面的URL是非常常见的需求。可以使用$_SERVER
超级全局变量来获取当前页面的URL。
$currentUrl = 'http' . (isset($_SERVER['HTTPS']) ? 's' : '') . '://' . $_SERVER['HTTP_HOST'] . $_SERVER['REQUEST_URI'];
通过上面的代码,我们获取了当前页面的URL,并将其存储在 $currentUrl
变量中。代码解释如下:
$_SERVER['HTTPS']
:如果客户端和服务器之间使用 SSL 安全协议通信,则此变量为 on
。$_SERVER['HTTP_HOST']
:HTTP 请求的主机头部(Host)的内容,即当前请求的域名。$_SERVER['REQUEST_URI']
:URL 的路径部分,即当前请求的URI。假设我们需要获取其他URL的一些信息(如主机名或URI),我们可以使用parse_url()
函数来解析URL并获取所需的信息。
$url = "https://example.com/foo/bar?baz=qux#quux";
$parsedUrl = parse_url($url);
代码解释如下:
parse_url()
函数会解析URL字符串,返回一个关联数组,包含了URL的各个部分(如方案,主机名,路径等)。$parsedUrl
变量是一个包含URL各个部分的关联数组。我们可以使用以下代码片段来获取其他URL的信息:
$url = 'https://example.com/foo/bar?baz=qux#quux';
$parsedUrl = parse_url($url);
echo "Scheme: " . $parsedUrl['scheme'] . PHP_EOL; // 输出:Scheme: https
echo "Host: " . $parsedUrl['host'] . PHP_EOL; // 输出:Host: example.com
echo "Path: " . $parsedUrl['path'] . PHP_EOL; // 输出:Path: /foo/bar
echo "Query string: " . $parsedUrl['query'] . PHP_EOL; // 输出:Query string: baz=qux
echo "Fragment: " . $parsedUrl['fragment'] . PHP_EOL; // 输出:Fragment: quux
代码解释如下:
$parsedUrl['scheme']
:返回URL的方案部分(如http或https)。$parsedUrl['host']
:返回URL的主机名。$parsedUrl['path']
:返回URL的路径部分。$parsedUrl['query']
: 返回URL的查询字符串部分。$parsedUrl['fragment']
:返回URL的片段标识符部分。在本文中,我们介绍了如何使用PHP获取URL。使用$_SERVER
超级全局变量,我们可以轻松地获取当前页面的URL,而使用parse_url()
函数,我们可以解析URL并获取所需的信息。希望这篇文章对你有所帮助。