📜  使用 php 获取 url(1)

📅  最后修改于: 2023-12-03 15:22:15.501000             🧑  作者: Mango

使用 PHP 获取 URL

当我们需要获取当前页面的URL或其他URL时,可以使用PHP内置的函数来轻松地实现。在本文中,我们将介绍如何使用PHP获取URL。

获取当前页面的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的信息

假设我们需要获取其他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并获取所需的信息。希望这篇文章对你有所帮助。