通过 PHP 获取请求的 URL147


在 PHP 中,获取请求的 URL 是一个常见的需求。通过获取 URL,您可以访问有关请求的信息,例如:请求的协议、主机名、端口号和请求路径。

有多种方法可以在 PHP 中获取请求的 URL。最常见的方法是使用 $_SERVER 超全局变量。

使用 $_SERVER 超全局变量

$_SERVER 超全局变量包含有关当前请求的信息,包括请求的 URL。要获取请求的 URL,可以使用以下代码:```php
$url = $_SERVER['REQUEST_URI'];
```

REQUEST_URI 包含当前请求的完整 URL,包括查询字符串。如果你只需要请求的路径(不含查询字符串),可以使用 $_SERVER['SCRIPT_NAME']:```php
$path = $_SERVER['SCRIPT_NAME'];
```

使用 get_headers() 函数

另一种获取请求的 URL 的方法是使用 get_headers() 函数:```php
$headers = get_headers($_SERVER['REQUEST_URI'], 1);
$url = $headers['Location'];
```

get_headers() 函数返回一个包含 HTTP 头部的数组。Location 头部包含请求的 URL。

使用 parse_url() 函数

parse_url() 函数可以将 URL 解析为其组成部分。要使用此函数获取请求的 URL,可以使用以下代码:```php
$url = $_SERVER['REQUEST_URI'];
$parsed_url = parse_url($url);
```

parse_url() 函数将 URL 解析为一个包含以下键的数组:* scheme - URL 的协议(例如,"http" 或 "https")
* host - 主机名
* port - 端口号
* path - 请求路径
* query - 查询字符串
* fragment - 片段标识符

PHP 示例

以下是一个完整的 PHP 示例,演示如何获取请求的 URL:```php

```

输出:```
/my-path/to/?param1=value1¶m2=value2
```

2024-10-29


上一篇:PHP 调用 MySQL 数据库的全面指南

下一篇:从 PHP 读取文件目录:深入指南