在 php 中,获取 url 的方法包括:获取完整 url(方法 1:$_server[‘request_uri’];方法 2:$_server[‘http_host’] + $_server[‘request_uri’])、相对 url(方法 1:$_server[‘path_info’];方法 2:$_server[‘script_name’]),以及获取特定 url 组件(方法:parse_url() 函数)。
如何使用 PHP 获取 URL
在 PHP 中,获取 URL 有多种方法,具体取决于您需要的 URL 类型。
完整 URL
方法 1:$_SERVER[‘REQUEST_URI’]
此方法返回客户端请求的完整 URL,包括协议、主机名和请求路径。
示例代码:
$url = $_SERVER['REQUEST_URI']; echo $url; // 输出:/my-page.php?id=123
方法 2:$_SERVER[‘HTTP_HOST’] + $_SERVER[‘REQUEST_URI’]
此方法将主机名和请求路径按预期格式组合在一起。
示例代码:
$host = $_SERVER['HTTP_HOST']; $uri = $_SERVER['REQUEST_URI']; $url = $host . $uri; echo $url; // 输出:my-domain.com/my-page.php?id=123
相对 URL
方法 1:$_SERVER[‘PATH_INFO’]
此方法返回请求路径的相对部分,不包含协议、主机名或查询字符串。
示例代码:
$url = $_SERVER['PATH_INFO']; echo $url; // 输出:/my-page.php
方法 2:$_SERVER[‘SCRIPT_NAME’]
此方法返回当前脚本的文件路径。
示例代码:
$url = $_SERVER['SCRIPT_NAME']; echo $url; // 输出:/my-page.php
获取其他 URL 组件
除了获取完整或相对 URL 外,您还可以获取特定 URL 组件,例如协议、主机名或端口。
方法:parse_url() 函数
此函数将 URL 解析为其组件并将其存储在关联数组中。
示例代码:
$url = 'https://example.com:8080/my-page.php?id=123'; $parsed_url = parse_url($url); echo $parsed_url['scheme']; // https echo $parsed_url['host']; // example.com echo $parsed_url['port']; // 8080