文档章节

php获取当前页面完整真实的url地址的方法,包括带参数的,总结了三种方法

liunx_
 liunx_
发布于 2017/08/30 08:31
字数 214
阅读 11
收藏 1
01 function GetCurUrl(){
02     if(isset($_SERVER['REQUEST_URI'])){
03         $url=$_SERVER['REQUEST_URI'];
04     }else{
05         if(isset($_SERVER['argv'])){
06             $url=$_SERVER['PHP_SELF'].'?'.$_SERVER['argv'][0];
07         }else{
08             $url=$_SERVER['PHP_SELF'].'?'.$_SERVER['QUERY_STRING'];
09         }
10     }
11     return urlencode($url);//注意这里给编码了
12 }

第二种方法(据说织梦用的就是这种方法):

 

 

01 //获得当前的脚本网址
02 function GetCurUrl(){
03     if(!empty($_SERVER['REQUEST_URI'])){
04         $scriptName=$_SERVER['REQUEST_URI'];
05         $nowurl=$scriptName;
06     }else{
07         $scriptName=$_SERVER['PHP_SELF'];
08         if(empty($_SERVER['QUERY_STRING'])){
09             $nowurl=$scriptName;
10         }else{
11             $nowurl=$scriptName.'?'.$_SERVER['QUERY_STRING'];
12         }
13     }
14     return $nowurl;
15 }

第三种方法(推荐):

 

 

01 //php获取当前访问的完整url地址
02 function GetCurUrl(){
03     $url='http://';
04     if(isset($_SERVER['HTTPS'])&&$_SERVER['HTTPS']=='on'){
05         $url='https://';
06     }
07     if($_SERVER['SERVER_PORT']!='80'){
08         $url.=$_SERVER['SERVER_NAME'].':'.$_SERVER['SERVER_PORT'].$_SERVER['REQUEST_URI'];
09     }else{
10         $url.=$_SERVER['SERVER_NAME'].$_SERVER['REQUEST_URI'];
11     }
12     return $url;
13 }

© 著作权归作者所有

共有 人打赏支持
liunx_
粉丝 0
博文 20
码字总数 29282
作品 0
成都
程序员
Yii2的一些小坑---关于跳转和助手类的灵活使用

YII本身的跳转很灵活。一般的MVC出现跳转的也不外乎: (1)V->V 页面之前的跳转 (2)C->V 正常的MVC方式 (3)V->C 请求数据接口数据传参,我还是一般都会用JS的ajax实现 这三种也都逃不了...

0_0Loong
01/15
0
0
代码审计 Empire CMS v7.5前台XSS漏洞

  *本文原创作者:q601333824,属于FreeBuf原创奖励计划,转载请注明来自FreeBuf.COM   概述   帝国CMS简称Empire CMS,当前的最新版本为7.5,前几天挖过一个该CMS的后台漏洞,最近也去...

FreeBuf
07/22
0
0
HTML Location(详解)

location指示了其所连接对象的url位置。Document和window对象中都有location属性,可以通过window.location和document.location访问。 注意 如果想要获得当前文档的完整url字符串,有四种方式...

Flyes
2017/12/07
0
0
JavaScript Location对象

window.location 对象用来获取当前页面的地址 (URL)信息,并可将浏览器重定向到其他页面。 window.location 对象在编写代码时可不使用 window 这个前缀。 location对象的属性和方法 属性 方法...

wersdffg
2015/07/23
0
0
ios的Ping++支付接入步骤

Ping++ SDK 包括 Server 和 Client 两部分。 其中 Server SDK 提供了 , , , , , 六种语言版本。 Client SDK 提供了 , , 三种平台版本。 应用在接入 Ping++ SDK 时,需要使用以下三个参数,这...

南瓜宝宝
2015/03/18
0
0

没有更多内容

加载失败,请刷新页面

加载更多

20180920 rzsz传输文件、用户和用户组相关配置文件与管理

利用rz、sz实现Linux与Windows互传文件 [root@centos01 ~]# yum install -y lrzsz # 安装工具sz test.txt # 弹出对话框,传递到选择的路径下rz # 回车后,会从对话框中选择对应的文件传递...

野雪球
今天
1
0
OSChina 周四乱弹 —— 毒蛇当辣条

Osc乱弹歌单(2018)请戳(这里) 【今日歌曲】 @ 达尔文:分享花澤香菜/前野智昭/小野大輔/井上喜久子的单曲《ミッション! 健?康?第?イチ》 《ミッション! 健?康?第?イチ》- 花澤香菜/前野智...

小小编辑
今天
7
3
java -jar运行内存设置

java -Xms64m #JVM启动时的初始堆大小 -Xmx128m #最大堆大小 -Xmn64m #年轻代的大小,其余的空间是老年代 -XX:MaxMetaspaceSize=128m # -XX:CompressedClassSpaceSize=6...

李玉长
今天
3
0
Spring | 手把手教你SSM最优雅的整合方式

HEY 本节主要内容为:基于Spring从0到1搭建一个web工程,适合初学者,Java初级开发者。欢迎与我交流。 MODULE 新建一个Maven工程。 不论你是什么工具,选这个就可以了,然后next,直至finis...

冯文议
今天
2
0
RxJS的另外四种实现方式(四)——性能最高的库(续)

接上一篇RxJS的另外四种实现方式(三)——性能最高的库 上一篇文章我展示了这个最高性能库的实现方法。下面我介绍一下这个性能提升的秘密。 首先,为了弄清楚Most库究竟为何如此快,我必须借...

一个灰
今天
3
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部