📜  php 当前页面 url - PHP (1)

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

PHP获取当前页面URL

在编写PHP应用程序时,我们经常需要获取当前URL。PHP提供了几种方法来获取当前页面URL。在本文中,我们将讨论如何在PHP中获取当前页面URL。

使用$_SERVER['PHP_SELF']

$_SERVER['PHP_SELF']是PHP的全局变量,它包含了当前脚本的文件名。通过连接该变量与服务器的HTTP_HOST变量,你可以获取当前页面的URL。

以下代码演示了如何使用$_SERVER['PHP_SELF']获取当前页面URL:

$current_url = "http://".$_SERVER['HTTP_HOST'].$_SERVER['PHP_SELF'];

此方法不适用于HTTPS协议,因为$_SERVER['PHP_SELF']返回的URL是不安全的。使用此方法时,要确保在处理用户提交的任何数据时进行适当的数据验证和过滤,以防止跨站点脚本攻击。

使用$_SERVER['REQUEST_URI']

$_SERVER['REQUEST_URI']包含了访问当前页面所需的URI。通过连接该变量与服务器的HTTP_HOST变量,您可以获取当前页面的完整URL。

以下代码演示了如何使用$_SERVER['REQUEST_URI']获取当前页面URL:

$current_url = "http://".$_SERVER['HTTP_HOST'].$_SERVER['REQUEST_URI'];

与$_SERVER['PHP_SELF']相比,$_SERVER['REQUEST_URI']更可取,因为它适用于任何协议,包括HTTPS协议。

使用$_SERVER['QUERY_STRING']

$_SERVER['QUERY_STRING']包含了当前URL中的查询字符串。将该变量连接到服务器的HTTP_HOST变量,即可获取当前页面的完整URL。

以下代码演示了如何使用$_SERVER['QUERY_STRING']获取当前页面URL:

$current_url = "http://".$_SERVER['HTTP_HOST'].$_SERVER['SCRIPT_NAME']."?".$_SERVER['QUERY_STRING'];

这种方法只在当前页面存在查询参数时有效。

使用parse_url()

parse_url()函数可以解析URL并返回其各个部分。该函数将URL解析为协议、主机、路径和查询字符串等部分。

以下代码演示了如何使用parse_url()函数获取当前页面URL:

$url = "http://".$_SERVER['HTTP_HOST'].$_SERVER['REQUEST_URI'];
$parsed_url = parse_url($url);
$current_url = $parsed_url['scheme']."://".$parsed_url['host'].$parsed_url['path']."?".$parsed_url['query'];

该方法可以适用于任何有效的URL。

通过上面四种方法,我们可以获取当前页面的URL,以便在PHP应用程序中使用。鉴于网站安全性问题,我们应该使用适当的方法来保护我们的应用程序免受威胁。