📜  php 获取 url 路径名 - PHP (1)

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

PHP 获取 URL 路径名

在编写 Web 应用程序时,经常需要获取当前访问页面的 URL 路径名(即不包括域名和查询参数部分的路径),以便进行相应的处理。PHP 提供了多种方式来获取 URL 路径名,本文将介绍其中常用的几种方法。

方法一

使用 $_SERVER['REQUEST_URI'] 全局变量可以获取当前页面的 URL 路径名。该全局变量包含了当前请求的完整 URL 地址,我们只需要用 parse_url() 函数解析出其中的路径名部分即可:

$path = parse_url($_SERVER['REQUEST_URI'], PHP_URL_PATH);

其中,PHP_URL_PATH 参数表示获取路径部分。

方法二

使用 $_SERVER['SCRIPT_NAME'] 全局变量可以直接获取当前 PHP 文件的路径名。该全局变量包含了当前 PHP 文件的路径地址,我们只需要剔除其中的文件名部分即可得到当前 URL 的路径名:

$path = rtrim(dirname($_SERVER['SCRIPT_NAME']), '/');

其中,dirname() 函数返回路径中的目录部分,rtrim() 函数用于删除右侧的斜线。

方法三

使用 $_SERVER['PATH_INFO'] 全局变量可以获取当前 URL 路径名的一部分。该全局变量包含了 URL 中 index.php 后面的部分,我们只需要去掉前导斜线即可得到当前 URL 的路径名:

$path = ltrim($_SERVER['PATH_INFO'], '/');

其中,ltrim() 函数用于删除左侧的斜线。

注意事项

以上三种方法都可以获取到当前 URL 的路径名,但其结果可能有所不同。$_SERVER['REQUEST_URI'] 可能包含查询参数部分,需要进行处理;$_SERVER['SCRIPT_NAME'] 在 URL 重写的场景下可能会产生问题;$_SERVER['PATH_INFO'] 只适用于在 URL 中指定了路径名的情况。

因此,具体使用哪种方法取决于应用的实际情况,需要根据需要进行选择。

以上就是获取 URL 路径名的几种常用方式。更多 PHP 相关技术及使用技巧,欢迎关注本公众号。