php怎么获取当前访问网址
-
在PHP中,我们可以通过使用超全局变量`$_SERVER`来获取当前访问网址。`$_SERVER`是一个包含了诸如头信息、路径、脚本位置等等信息的数组。具体来说,`$_SERVER[‘REQUEST_URI’]`可以返回当前页面的相对路径。
下面是获取当前访问网址的代码:
“`php
$currentUrl = ‘http’;
if (isset($_SERVER[‘HTTPS’]) && $_SERVER[‘HTTPS’] === ‘on’) {
$currentUrl .= ‘s’;
}
$currentUrl .= ‘://’;
if ($_SERVER[‘SERVER_PORT’] !== ’80’) {
$currentUrl .= $_SERVER[‘SERVER_NAME’] . ‘:’ . $_SERVER[‘SERVER_PORT’] . $_SERVER[‘REQUEST_URI’];
} else {
$currentUrl .= $_SERVER[‘SERVER_NAME’] . $_SERVER[‘REQUEST_URI’];
}echo $currentUrl;
“`上述代码中,我们首先检查是否使用了HTTPS协议,如果是,则在$currentUrl中加入`https://`。然后我们添加服务器名,如果端口不是80,我们还要将端口号添加到$currentUrl中。最后,我们将$_SERVER[‘REQUEST_URI’]添加到$currentUrl中,得到完整的访问网址。
需要说明的是,由于`$_SERVER`包含了许多其他信息,所以还可以通过`$_SERVER[‘SCRIPT_NAME’]`来获取当前脚本的路径,通过`$_SERVER[‘HTTP_HOST’]`获取当前访问域名等等。
这样,我们就可以通过PHP获取到当前访问网址了。
2年前 -
通过PHP的`$_SERVER`全局变量可以获取当前访问网址。具体方法如下:
1. 获取当前访问网址的URL:
“`
$url = ‘http’;
if (isset($_SERVER[‘HTTPS’]) && $_SERVER[‘HTTPS’] === ‘on’) {
$url .= ‘s’;
}
$url .= ‘://’.$_SERVER[‘HTTP_HOST’].$_SERVER[‘REQUEST_URI’];
“`2. 获取当前访问网址的协议(http或https):
“`
$protocol = isset($_SERVER[‘HTTPS’]) && $_SERVER[‘HTTPS’] === ‘on’ ? ‘https’ : ‘http’;
“`3. 获取当前访问网址的域名:
“`
$domain = $_SERVER[‘HTTP_HOST’];
“`4. 获取当前访问网址的路径部分:
“`
$path = $_SERVER[‘REQUEST_URI’];
“`5. 获取当前访问网址的查询字符串(如果有的话):
“`
$queryString = isset($_SERVER[‘QUERY_STRING’]) ? $_SERVER[‘QUERY_STRING’] : ”;
“`通过上述方法,你可以获取到当前访问网址的各个部分,并根据需要进行处理和使用。
2年前 -
获取当前访问网址是一个常见需求,在PHP中可以通过一些方法和操作流程来实现。下面将介绍一种常用的方法来获取当前访问网址,并结合小标题进行详细讲解。
## 目录
1. 什么是当前访问网址
2. 通过 `$_SERVER` 超级全局变量获取当前访问网址
1. 通过 `$_SERVER[‘REQUEST_URI’]` 获取当前URI
2. 通过 `$_SERVER[‘HTTP_HOST’]` 获取当前主机名
3. 通过 `$_SERVER[‘HTTPS’]` 获取当前协议
4. 通过 `$_SERVER[‘QUERY_STRING’]` 获取当前查询字符串
5. 拼接以上信息获取完整的当前访问网址
3. 示例代码### 1. 什么是当前访问网址
当前访问网址,也称为当前URL,指的是用户当前正在访问的网页的网址。在PHP中,获取当前访问网址可以用于记录访问日志、实现URL跳转等功能。### 2. 通过 `$_SERVER` 超级全局变量获取当前访问网址
在PHP中,可以通过 `$_SERVER` 超级全局变量来获取当前访问网址的各个部分信息,包括URI、主机名、协议和查询字符串等。#### 2.1 通过 `$_SERVER[‘REQUEST_URI’]` 获取当前URI
`$_SERVER[‘REQUEST_URI’]` 可以获取用户请求的URI,即不包括主机名和协议部分的相对路径。例如,如果用户访问的网址是 `http://example.com/foo/bar.php?a=1&b=2`,那么 `$_SERVER[‘REQUEST_URI’]` 的值就是 `/foo/bar.php?a=1&b=2`。#### 2.2 通过 `$_SERVER[‘HTTP_HOST’]` 获取当前主机名
`$_SERVER[‘HTTP_HOST’]` 可以获取当前访问的主机名,即域名部分。例如,如果用户访问的网址是 `http://example.com/foo/bar.php?a=1&b=2`,那么 `$_SERVER[‘HTTP_HOST’]` 的值就是 `example.com`。#### 2.3 通过 `$_SERVER[‘HTTPS’]` 获取当前协议
`$_SERVER[‘HTTPS’]` 是一个可选的环境变量,用于指示当前访问是否通过安全的HTTPS协议进行。如果该变量存在且不为空,意味着当前访问是通过HTTPS进行的,否则是通过HTTP进行的。#### 2.4 通过 `$_SERVER[‘QUERY_STRING’]` 获取当前查询字符串
`$_SERVER[‘QUERY_STRING’]` 可以获取当前请求的查询字符串部分,即URL中问号后面的内容。例如,如果用户访问的网址是 `http://example.com/foo/bar.php?a=1&b=2`,那么 `$_SERVER[‘QUERY_STRING’]` 的值就是 `a=1&b=2`。#### 2.5 拼接以上信息获取完整的当前访问网址
通过以上获取的各个部分信息,我们可以通过拼接它们来获取完整的当前访问网址。“`php
$protocol = isset($_SERVER[‘HTTPS’]) && $_SERVER[‘HTTPS’] === ‘on’ ? ‘https://’ : ‘http://’;
$host = $_SERVER[‘HTTP_HOST’];
$uri = $_SERVER[‘REQUEST_URI’];
$queryString = $_SERVER[‘QUERY_STRING’];$currentUrl = $protocol . $host . $uri . ‘?’ . $queryString;
“`### 3. 示例代码
“`php
“`以上代码通过拼接 `$_SERVER` 中的各个部分信息,获取到了当前访问网址,并使用echo语句将其输出。
综上所述,通过 `$_SERVER` 超级全局变量和一些操作流程,我们可以很方便地获取到当前访问网址。获取当前访问网址可以满足我们日常开发中各种需求,值得我们注意和学习。
2年前