使用php怎么获取当前页面的完整URL地址

  介绍

这篇文章将为大家详细讲解有关使用php怎么获取当前页面的完整URL地址,文章内容质量较高,因此小编分享给大家做个参考,希望大家阅读完这篇文章后对相关知识有一定的了解。

<强>示例一:

& lt; php ?//,说明:获取完整的URL      function  curPageURL (),   {   时间=美元才能pageURL  & # 39; http # 39;;      if 才能;($ _SERVER [“HTTPS"],==,“知道,),   {才能   ,,,pageURL 美元。=,“s";   ,,}   美元才能pageURL 。=,“://?      if 才能;($ _SERVER [“SERVER_PORT"], !=,“80“),   {才能   ,,,pageURL 美元。=,$ _SERVER (“SERVER_NAME"),只“:“,只$ _SERVER (“SERVER_PORT"),只$ _SERVER (“REQUEST_URI");   ,,},   else 才能;   {才能   ,,,pageURL 美元。=,$ _SERVER (“SERVER_NAME"),只$ _SERVER (“REQUEST_URI");   ,,}   return 才能;pageURL美元;   }   祝辞;

定义该函数之后就可以直接调用了:

& lt; php ?   ,echo  curPageURL ();   祝辞;

上面的函数可以获取当前页面完整的URL,即你在浏览器地址栏看到的内容。但是,有时候我们不想要URL中的参数(?号后面的内容),如:http://www.ludou.org/hello.html?u=123只想获取http://www.ludou.org/hello.html,你可以将以上函数按示例二修改。

<强>示例二:

& lt; php ?//,说明:获取无参数URL      function  curPageURL (),   {   时间=美元才能pageURL  & # 39; http # 39;;      if 才能;($ _SERVER [“HTTPS"],==,“知道,),   {才能   ,,,pageURL 美元。=,“s";   ,,}   美元才能pageURL 。=,“://?      时间=美元才能this_page  $ _SERVER (“REQUEST_URI");   ,,//才能,只取,?,前面的内容   if 才能;(大小写敏感($ -此页,“?“),!==,假)   {才能   ,,,this_pages 美元;=,爆炸(“?“,-此页美元);   ,,,this_page 美元;=,重置($ -此页);   ,,}      if 才能;($ _SERVER [“SERVER_PORT"], !=,“80“),   {才能   ,,,pageURL 美元。=,$ _SERVER (“SERVER_NAME"),只“:“,只$ _SERVER (“SERVER_PORT"),只-此页美元;   ,,},   else 才能;   {才能   ,,,pageURL 美元。=,$ _SERVER (“SERVER_NAME"),只-此页美元;   ,,}   return 才能;pageURL美元;   }   ?在

当然也可以采用$ _SERVER [& # 39; PHP_SELF& # 39;](该变量不返回URL中的参数),

<强>示例三:

& lt; php ?//,说明:获取无参数URL      function  curPageURL (),   {   时间=美元才能pageURL  & # 39; http # 39;;      if 才能;($ _SERVER [“HTTPS"],==,“知道,),   {才能   ,,,pageURL 美元。=,“s";   ,,}   美元才能pageURL 。=,“://?      if 才能;($ _SERVER [“SERVER_PORT"], !=,“80“),   {才能   ,,,pageURL 美元。=,$ _SERVER [“SERVER_NAME"] !”:“,只$ _SERVER (“SERVER_PORT"),只$ _SERVER [& # 39; PHP_SELF& # 39;];   ,,},   else 才能;   {才能   ,,,pageURL 美元。=,$ _SERVER (“SERVER_NAME"),只$ _SERVER [& # 39; PHP_SELF& # 39;];   ,,}   return 才能;pageURL美元;   }   ?在

另外,$ _SERVER [& # 39; REQUEST_URI& # 39;)和$ _SERVER [& # 39; REQUEST_URL& # 39;]是有稍微区别的:
<强> $ _SERVER (“REQUEST_URI") 强返回完整的路径,包含参数(/目录/file.ext吗?查询字符串)
<强> $ _SERVER [& # 39; REQUEST_URL& # 39;] 只返回文件路径,不包括参数,(/目录/文件。_SERVER ext)和[& # 39;PHP_SELF& # 39;]差不多,只不过在有些服务器上$ _SERVER [& # 39; REQUEST_URL& # 39;]不可用!

注意:URL使用重写规则的时候,$ _SERVER [& # 39; PHP_SELF& # 39;)和$ _SERVER [“REQUEST_URL"]可能不会返回你想要的东西

最后提醒一点,$ _SERVER [“REQUEST_URI"]只有apache才支持,想要获取$ _SERVER [& # 39; REQUEST_URI& # 39;)值,可以使用以下方案:

& lt; php ?//,说明:获取,_SERVER [& # 39; REQUEST_URI& # 39;],值的通用解决方案   function  request_uri ()   {   if 才能;(收取($ _SERVER [& # 39; REQUEST_URI& # 39;)))   {才能   ,,,uri 美元;=,$ _SERVER [& # 39; REQUEST_URI& # 39;];,   ,,}   其他的才能   {才能   ,,,if (收取($ _SERVER [& # 39; argv # 39;)))   ,,,{   ,,,,,uri 美元;=,$ _SERVER [& # 39; PHP_SELF& # 39;],强生的# 39;? & # 39;只$ _SERVER [& # 39; argv # 39;] [0];   ,,,}   ,,,   ,,,{   ,,,,,uri 美元;=,$ _SERVER [& # 39; PHP_SELF& # 39;],强生的# 39;? & # 39;只$ _SERVER [& # 39; QUERY_STRING& # 39;];   ,,,}   ,,}   return 才能;美元uri;   }   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null

使用php怎么获取当前页面的完整URL地址