php怎么找到当前页地址
-
在PHP中,可以通过使用超全局变量 `$_SERVER` 来找到当前页的地址。
具体的,可以使用 `$_SERVER[‘PHP_SELF’]` 来获取当前脚本的路径和文件名。
代码示例:
“`php
$currentURL = $_SERVER[‘PHP_SELF’];
echo $currentURL;
“`另外,如果想要获取完整的当前页的URL(包含协议、主机、路径和文件名),可以使用 `$_SERVER[‘HTTP_HOST’]` 和 `$_SERVER[‘REQUEST_URI’]` 来拼接。
代码示例:
“`php
$currentURL = ‘http://’ . $_SERVER[‘HTTP_HOST’] . $_SERVER[‘REQUEST_URI’];
echo $currentURL;
“`需要注意的是,`$_SERVER` 中的值是由服务器提供的,因此可能受到服务器配置和环境的影响。在某些特殊情况下,获取当前页地址的方法可能会有所不同。但在大多数情况下,上述方法都是可靠的。
2年前 -
要获取当前页的地址,可以使用`$_SERVER`超全局变量中的`PHP_SELF`元素。
`$_SERVER[‘PHP_SELF’]`是一个包含了当前脚本的文件名和路径的字符串。它是一个相对路径,即相对于服务器的文档根目录。
下面是获取当前页地址的一个示例:
“`php
$currentUrl = $_SERVER[‘PHP_SELF’];
echo $currentUrl;
“`上述代码将直接输出当前页的地址。
然而,`$_SERVER[‘PHP_SELF’]`并不总是返回预期的值,在一些情况下可能无法满足需求。例如,如果当前页是由于URL重写而导致的,则`$_SERVER[‘PHP_SELF’]`将返回重写后的URL而不是真实的文件名。
因此,为了更准确地获取当前页的地址,可以使用`$_SERVER`超全局变量中的其他一些元素来获取完整的URL。
以下是一种获得当前页地址的更可靠的方法:
“`php
$protocol = isset($_SERVER[‘HTTPS’]) && $_SERVER[‘HTTPS’] === ‘on’ ? “https://” : “http://”;
$host = $_SERVER[‘HTTP_HOST’];
$uri = $_SERVER[‘REQUEST_URI’];
$currentUrl = $protocol . $host . $uri;
echo $currentUrl;
“`
上述代码首先判断当前页是通过HTTP还是HTTPS被访问,然后使用`$_SERVER[‘HTTP_HOST’]`获取主机名,最后使用`$_SERVER[‘REQUEST_URI’]`获取请求的URI(包括查询字符串),将它们拼接在一起就得到了完整的URL,并将其输出。另外,如果当前页的URL中包含了查询字符串,你可能还想要获取不包含查询字符串的URL,可以使用`parse_url()`函数解析URL,并结合`$_SERVER`超全局变量来获取当前页的地址:
“`php
$currentUrl = $_SERVER[‘REQUEST_SCHEME’] . ‘://’ . $_SERVER[‘HTTP_HOST’] . parse_url($_SERVER[‘REQUEST_URI’], PHP_URL_PATH);
echo $currentUrl;
“`上述代码使用`$_SERVER[‘REQUEST_SCHEME’]`来获取请求使用的协议,并结合`$_SERVER[‘HTTP_HOST’]`获取主机名。然后,使用`parse_url()`函数解析`$_SERVER[‘REQUEST_URI’]`的URL,并使用`PHP_URL_PATH`参数提取出不包含查询字符串的URL。最后,将它们拼接在一起输出。
总结一下,要获取当前页的地址,可以使用`$_SERVER[‘PHP_SELF’]`,不过它在可能的情况下无法满足需求。为了更可靠地获取当前页的地址,可以结合`$_SERVER`超全局变量中的其他元素来构建完整的URL。
2年前 -
在PHP中,可以使用一些内置的变量和函数来找到当前页的地址。主要有以下几种方法。
方法一:使用$_SERVER[‘PHP_SELF’]
$_SERVER是一个包含服务器和执行环境信息的数组。其中,$_SERVER[‘PHP_SELF’]的值是当前文件的路径和文件名。可以通过$_SERVER[‘PHP_SELF’]来获取当前页地址。“`php
$current_page = $_SERVER[‘PHP_SELF’];
echo “当前页面地址是:” . $current_page;
“`方法二:使用$_SERVER[‘REQUEST_URI’]
$_SERVER[‘REQUEST_URI’]包含了当前请求的URI(不包括域名和协议)。可以通过$_SERVER[‘REQUEST_URI’]来获取当前页地址。“`php
$current_page = $_SERVER[‘REQUEST_URI’];
echo “当前页面地址是:” . $current_page;
“`方法三:使用$_SERVER[‘SCRIPT_NAME’]
$_SERVER[‘SCRIPT_NAME’]包含了当前脚本的路径和文件名。可以通过$_SERVER[‘SCRIPT_NAME’]来获取当前页地址。“`php
$current_page = $_SERVER[‘SCRIPT_NAME’];
echo “当前页面地址是:” . $current_page;
“`方法四:使用$_SERVER[‘HTTP_HOST’]和$_SERVER[‘REQUEST_URI’]
$_SERVER[‘HTTP_HOST’]包含了当前请求的主机名,$_SERVER[‘REQUEST_URI’]包含了当前请求的URI。可以结合两者来获取当前页地址。“`php
$current_page = $_SERVER[‘HTTP_HOST’] . $_SERVER[‘REQUEST_URI’];
echo “当前页面地址是:” . $current_page;
“`方法五:使用$_SERVER[‘HTTPS’]、$_SERVER[‘HTTP_HOST’]和$_SERVER[‘REQUEST_URI’]
$_SERVER[‘HTTPS’]表示当前请求是否通过HTTPS协议,返回值为非空字符串时表示使用了HTTPS。可以结合$_SERVER[‘HTTP_HOST’]和$_SERVER[‘REQUEST_URI’]来获取当前页地址。“`php
$protocol = $_SERVER[‘HTTPS’] ? ‘https://’ : ‘http://’;
$host = $_SERVER[‘HTTP_HOST’];
$uri = $_SERVER[‘REQUEST_URI’];
$current_page = $protocol . $host . $uri;
echo “当前页面地址是:” . $current_page;
“`以上是一些常见的方法来获取当前页地址的方式,可以根据具体的需求选择合适的方法使用。
2年前