php怎么获取请求的url地址
-
在PHP中,可以使用`$_SERVER`超全局数组来获取当前请求的URL地址。
具体获取URL的方式有两种:
1. 使用`$_SERVER[‘REQUEST_URI’]`:它能够获取到完整的请求URL,包括域名、文件路径和查询参数。例如,如果请求的URL为`https://www.example.com/test.php?id=123`,那么可以使用以下代码来获取URL地址:
“`php
$url = $_SERVER[‘REQUEST_URI’];
echo $url; // 输出:/test.php?id=123
“`2. 使用`$_SERVER[‘HTTP_HOST’]`和`$_SERVER[‘SCRIPT_NAME’]`:如果只想获取不包括查询参数的URL地址,可以使用这种方式。`HTTP_HOST`用于获取当前的域名,`SCRIPT_NAME`用于获取当前脚本的路径。使用这两个变量可以拼接出完整的URL地址。示例代码如下:
“`php
$host = $_SERVER[‘HTTP_HOST’];
$script = $_SERVER[‘SCRIPT_NAME’];
$url = $host . $script;
echo $url; // 输出:https://www.example.com/test.php
“`需要注意的是,`$_SERVER`数组中的值是由Web服务器设置的,因此在不同的服务器环境中,具体变量的值可能会有所不同。
以上就是获取请求URL地址的两种方式,可以根据实际需求选择适合的方法来获取URL。
2年前 -
在PHP中,您可以使用`$_SERVER`全局变量来获取请求的URL地址。
1. 获取当前页面的URL:
“`php
$currentUrl = $_SERVER[‘REQUEST_URI’];
“`
`$_SERVER[‘REQUEST_URI’]`会返回当前页面的URL路径和查询字符串。2. 获取当前页面的完整URL:
“`php
$currentFullUrl = $_SERVER[‘HTTP_HOST’] . $_SERVER[‘REQUEST_URI’];
“`
`$_SERVER[‘HTTP_HOST’]`会返回当前服务器主机名。3. 获取URL中的协议:
“`php
$protocol = stripos($_SERVER[‘SERVER_PROTOCOL’],’https’) === true ? ‘https://’ : ‘http://’;
“`
使用`$_SERVER[‘SERVER_PROTOCOL’]`可以获取当前请求的协议,通过判断是否包含`https`来确定使用的是`http`还是`https`。4. 获取URL中的域名:
“`php
$domain = $_SERVER[‘HTTP_HOST’];
“`
`$_SERVER[‘HTTP_HOST’]`会返回当前请求的域名。5. 获取URL中的路径和查询字符串:
“`php
$urlPath = strtok($_SERVER[‘REQUEST_URI’], ‘?’);
“`
使用`strtok`函数可以将URL地址以`?`为界限进行拆分,返回URL的路径部分。如果没有查询字符串,则返回完整的URL地址。需要注意的是,在使用`$_SERVER`全局变量时,需要确保PHP服务器的配置正确,并且不会被用户篡改。
2年前 -
在PHP中,可以使用`$_SERVER`全局变量获取当前请求的URL地址。具体的操作流程如下:
1. 获取请求的协议类型(http或https):
“`php
$protocol = isset($_SERVER[‘HTTPS’]) && $_SERVER[‘HTTPS’] === ‘on’ ? ‘https’ : ‘http’;
“`2. 获取主机名(域名):
“`php
$host = $_SERVER[‘HTTP_HOST’];
“`3. 获取请求的URI(统一资源标识符):
“`php
$uri = $_SERVER[‘REQUEST_URI’];
“`4. 将协议类型、主机名和URI拼接起来,即可得到完整的URL地址:
“`php
$url = $protocol . ‘://’ . $host . $uri;
“`综合起来,可以编写一个获取当前请求URL地址的函数,如下所示:
“`php
function getCurrentUrl() {
$protocol = isset($_SERVER[‘HTTPS’]) && $_SERVER[‘HTTPS’] === ‘on’ ? ‘https’ : ‘http’;
$host = $_SERVER[‘HTTP_HOST’];
$uri = $_SERVER[‘REQUEST_URI’];
$url = $protocol . ‘://’ . $host . $uri;return $url;
}
“`使用示例:
“`php
$url = getCurrentUrl();
echo $url;
“`以上操作流程可以获取到当前请求的URL地址。
2年前