在php中要获取当前页面url地址方法很简单,下面我来给大家总结一下利用相关函数获取完整页面url地址的实例。

PHP的预定义变量$_SERVER是一个包含头部(headers),路径信息及脚本位置的数组,数组的实体由web服务器创建.

利用$_SERVER数组,我们可以获取URL完整路径及真实路径,让自己随心所欲的运用它们.

$_SERVER['SERVER_NAME'] // 当前运行脚本所在服务器主机的名称.

$_SERVER[SERVER_PORT'] //用户连接到服务器时所使用的端口.

$_SERVER['REQUEST_URI'] //当前运行脚本除主机名外的请求URL.

$_SERVER['DOCUMENT_ROOT'] //当前运行脚本所在的文档根目录.

举例 URL : http://xsooo.com/Test/Test.php

$_SERVER['SERVER_NAME']:  xsooo.com

$_SERVER['SERVER_PORT'] : 80

$_SERVER['REQUEST_URI'] : /Test/Test.php

$_SERVER['DOCUMENT_ROOT'] : /home/var/www/xsooo.com/htdocs

所以URL完整路径为:

 代码如下 复制代码

echo 'http://'.$_SERVER['SERVER_NAME'].$_SERVER['REQUEST_URI'];

?>

说明 :

1. 默认http的端口为80 ,所以一般$_SERVER['SERVER_PORT']不纳入URL完整路径,当然特殊情况,特殊对待!

2. 有人会用$_SERVER['REMOTE_HOST']获取主机名,可是它的含义是:正在浏览当前页面用户的主机名(此变量必须由Web 服务器来创建).

延伸:

$_SERVER['REMOTE_HOST']为空值的解决方法

修改apache服务器配置文件httpd.conf内的HostnameLookups为On

在这里我想总结一下取得地址栏内URL及文件所属的我更路径的一些信息:

运用$_SERVER[ ]我们可以来完成许多事情:它是一个包含头部(headers),路径信息及脚本位置的数组,数组的实体由web服务器创建。

这是一个“superglobal”,或者可以描述为自动全局变量。这只不过意味这它在所有的脚本中都有效。在函数或方法中您不需要使用global $_SERVER; 访问它,就如同使用 $HTTP_SERVER_VARS 一样。

$HTTP_SERVER_VARS 包含着同样的信息,但是不是一个自动全局变量。(注意: $HTTP_SERVER_VARS 和 $_SERVER 是不同的变量,PHP 处理它们的方式不同。)如果设置了 register_globals 指令,这些变量也在所有脚本中可用;也就是,分离了 $_SERVER 和 $HTTP_SERVER_VARS 数组。

$_SERVER['HTTP_HOST'] 取得当前请求的Host:头部内容

$_SERVER['PHP_SELF']这可能是我们最为经常用到的了,它返回当前调用 的页的文件名,如果是http://localhost/test/2005/test.php, 那么将会返回/test/2005/test.php

$_SERVER['SCRIPT_NAME']它将返回包含当前脚本的路径。这在页面需要指向自己时非常有用

$_SERVER['SCRIPT_FILENAME']它将返回当前文件所在的绝对路径信息

$_SERVER['REQUEST_URI']返回访问此页面所需的URI,包括"/"

当然还有许多路径函数:

dirname(),返回路径信息中的目录部分,前面是带有"/"的

basename()返回路径中的基本的文件名部分,当然也可以设置后缀来控制输出。

realpath(),返回路径信息的绝对规范化的路径

php获取当前页面地址代码,PHP获取当前页面URL地址程序代码相关推荐

  1. 动态获取爱奇艺上传视频mp4格式url地址

    有时候,在工作中有些客户需要用到视频,我们大家都知道视频是非常的耗费流量的,因此,如果因为项目要求客户单独买台视频服务器是非常划不来的.那么将视频上传到优酷,爱奇艺等视频网站来托管那是一件很好的解决方 ...

  2. php 获取 参数名和参数值,如何快速的获得url地址中参数名和参数值(在看PHP手册的时候无意间看见这两个函数,猜想能不能搭配使用。)...

    今天在看手册的时候,无意间看到这两个内置函数parse_url和parse_str.看到他们的用法后,我突然想到能不能利用这两个函数来获得url地址中的参数.为了验证我的猜想,我就以如下url为例子: ...

  3. nuxt.js的核心代码_Nuxt.js中的通用应用程序代码结构

    nuxt.js的核心代码 by Krutie Patel 通过克鲁蒂·帕特尔(Krutie Patel) Nuxt.js中的通用应用程序代码结构 (Universal application code ...

  4. 服务器上post访问接口提示:请不要使用非法的URL地址访问,您访问的URL地址不被允许

    一.起因 本地的电脑以及公司的电脑部署了应用程序(.net core),做了前后端分离,然后使用post的方式进行获取数据,正常情况是不会报错误. 但是将应用程序发布到客户的服务器,就会出现状态码40 ...

  5. python函数和代码复用思维导图_Python语言程序---代码复用与函数递归(二)

    Python语言程序---代码复用与函数递归(二) 函数递归 在函数定义中,调用函数自身的方式就是递归. 递归并不是程序设计的专有名词,在数学中也广泛存在.例如:n!.在n!中,我们定义当n=0时,n ...

  6. 投票功能+代码+java_JSP实现的简单Web投票程序代码

    这篇文章主要介绍了JSP实现的简单Web投票程序代码,较为详细的分析了JSP实现投票功能的具体步骤与相关技巧,具有一定参考借鉴价值,需要的朋友可以参考下 本文实例讲述了JSP实现的简单Web投票程序. ...

  7. Flutter代码锦囊---根据环境选择URL地址

    现在要给公司开发一个内部使用的APP,但是因为是小公司,没有多余的服务器资源,只能拿公司的主机当服务器,也只能在通过映射实现外网访问.所以呀,很蛋疼,只能想办法判断用户是在内网使用APP,还是在外网使 ...

  8. python简单程序代码-有那些用python修改python程序代码的简单方法?

    python源代码是用C写的. 想改源库用python实现好像不太现实. 按你的要求,用C来extend的话很简单. ============下面是扩展库的代码=========== 用C来exten ...

  9. php图片添加代码,php实现图片添加文字水印程序代码

    /*PHP图片加文字水印类库 该类库暂时只支持文字水印,位置为右下角,颜色随机 调用方法: 1.在需要加水印的文件顶部引入类库: include_once 'imageClass.php'; 2.声明 ...

  10. java代码弹框,java弹出对话框程序代码

    无标题页 function ale() { //这个基本没有什么说的,就是弹出一个提醒的对话框 alert("我敢保证,你现在用的是演示一"); } function firm() ...

最新文章

  1. androidstudio集成ijkplayer教程
  2. java 子类重写父类的方法的注意事项
  3. XSS挑战之旅闯关笔记
  4. javaweb+C+asp毕业设计项目合集免费下载
  5. cPanel设置自定义404错误页
  6. 分数的计算机应用教案,计算机应用实训实验
  7. 资源描述框架RDF-阮一峰
  8. mysql有没有mssql执行计划_MSSQL优化执行计划
  9. ext.net 开发学习——常用布局(八)
  10. 计算机材料学常用计算软件,计算机在材料科学中的应用-用MaterialsStudio计算简单材料的能带.doc...
  11. 内容太干准备好水:项目进度管理S曲线制作方法新探
  12. printer: PJL
  13. 初窥 RAP:如何使用 RAP 进行接口文档管理
  14. 手淘双十一系列(一) | 521 性能优化项目揭秘
  15. 快递账单管理线上化教程
  16. 白盒测试哪种测试效果好_软件测试选择哪种测试方法比较好?
  17. Python实现json数据清洗、json数据去重、json数据统计
  18. Autofac实现依赖注入
  19. 记录java.util.Collections.unmodifiableList()使用
  20. 知识图谱入门 【八】- 语义搜索

热门文章

  1. 大一报了c语言班要买电脑吗,少儿编程课程要自己买电脑吗
  2. linux awk搜索文本最后个字符串,[转载]linux下的文本处理命令sedawkgrep
  3. JVM运行时内存概念-堆栈及新生代、老年代、持久代
  4. wpf 绘制矩形_WPF制作倒影效果
  5. php导入excel文件 视频,PHP导入Excel文件
  6. python访问多个网页_如何使用python请求登录具有多个页面的CAS?
  7. 用java设计一个二叉树类的结构,在JAVA中实现的二叉树结构
  8. 关于Navicat 连接mysql报11001错误
  9. ORACLE查询保留字
  10. SpringBoot启动一下就结束了