PHP 获取完整的 URL 地址44


在 PHP 中,可以通过多种方法获取完整的 URL 地址,包括:

$_SERVER['HTTP_HOST']

该变量存储了 HTTP 主机名称,包括域名和端口号(如果有)。例如:```php
echo $_SERVER['HTTP_HOST']; // :80
```

$_SERVER['REQUEST_URI']

该变量存储了当前请求的完整 URI,包括路径和查询字符串。例如:```php
echo $_SERVER['REQUEST_URI']; // /?page=1
```

$_SERVER['HTTP_REFERER']

该变量存储了前一个页面的 URL,如果用户通过单击链接到达当前页面,则该变量包含该链接的 URL。例如:```php
echo $_SERVER['HTTP_REFERER']; //
```

PHP_SELF

该常量存储了当前脚本的相对路径。例如:```php
echo PHP_SELF; // /
```

绝对 URL

要获取绝对 URL,可以将服务器名称与请求 URI 组合起来。例如:```php
$host = $_SERVER['HTTP_HOST'];
$uri = $_SERVER['REQUEST_URI'];
$absoluteUrl = "".$host.$uri;
```

结合使用

上述方法可以结合使用以获取更全面的 URL 信息。例如,以下代码获取当前请求的完整绝对 URL:```php
$protocol = (isset($_SERVER['HTTPS']) && $_SERVER['HTTPS'] === 'on' ? "https" : "http");
$host = $_SERVER['HTTP_HOST'];
$uri = $_SERVER['REQUEST_URI'];
$absoluteUrl = $protocol."://".$host.$uri;
```

注意事项

值得注意的是:* 这些变量可能会受到用户修改,因此不应完全依赖它们。
* 查询字符串可能包含敏感信息,应谨慎使用。
* HTTP_REFERER 标头不是强制性的,某些浏览器可能不会发送它。

2024-11-07


上一篇:PHP 对象数组转换为普通数组

下一篇:从 PHP 中有效获取表字段