PHP_SELF,SCRIPT_NAME,REQUEST_URI区别


Posted in PHP onDecember 24, 2014

$_SERVER[PHP_SELF], $_SERVER[SCRIPT_NAME], $_SERVER['REQUEST_URI'] 在用法上是非常相似的,他们返回的都是与当前正在使用的页面地址有关的信息,这里列出一些相关的例子,帮助确定哪些是在你的脚本最适合的。

$_SERVER['PHP_SELF']

http://www.yoursite.com/example/ — ? — /example/index.php
http://www.yoursite.com/example/index.php — ? — /example/index.php
http://www.yoursite.com/example/index.php?a=test — ? — /example/index.php
http://www.yoursite.com/example/index.php/dir/test — ? — /dir/test

当我们使用$_SERVER['PHP_SELF']的时候,无论访问的URL地址是否有index.php,它都会自动的返回 index.php.但是如果在文件名后面再加斜线的话,就会把后面所有的内容都返回在$_SERVER['PHP_SELF']。

$_SERVER['REQUEST_URI']

http://www.yoursite.com/example/ — ? — /
http://www.yoursite.com/example/index.php — ? — /example/index.php
http://www.yoursite.com/example/index.php?a=test — ? — /example/index.php?a=test
http://www.yoursite.com/example/index.php/dir/test — ? — /example/index.php/dir/test

$_SERVER['REQUEST_URI']返回的是我们在URL里写的精确的地址,如果URL只写到”/”,就返回 “/”

$_SERVER['SCRIPT_NAME']

http://www.yoursite.com/example/ — ? — /example/index.php
http://www.yoursite.com/example/index.php — ? — /example/index.php
http://www.yoursite.com/example/index.php — ? — /example/index.php
http://www.yoursite.com/example/index.php/dir/test — ? — /example/index.php

在所有的返回中都是当前的文件名/example/index.php

PHP 相关文章推荐
Apache2 httpd.conf 中文版
Nov 17 PHP
非常好用的两个PHP函数 serialize()和unserialize()
Feb 04 PHP
无需重新编译php加入ftp扩展的解决方法
Feb 07 PHP
sql注入与转义的php函数代码
Jun 17 PHP
php计算程序运行时间的简单例子分享
May 10 PHP
浅谈php冒泡排序
Dec 30 PHP
php中的动态调用实例分析
Jan 07 PHP
php数组比较实现查找连续数的方法
Jul 29 PHP
php获取客户端IP及URL的方法示例
Feb 03 PHP
php 读写json文件及修改json的方法
Mar 07 PHP
PHP实现基于PDO扩展连接PostgreSQL对象关系数据库示例
Mar 31 PHP
Laravel路由研究之domain解决多域名问题的方法示例
Apr 04 PHP
PHP扩展模块memcached长连接使用方法分析
Dec 24 #PHP
Yii框架在页面输出执行sql语句以方便调试的实现方法
Dec 24 #PHP
php使用pdo连接并查询sql数据库的方法
Dec 24 #PHP
php将access数据库转换到mysql数据库的方法
Dec 24 #PHP
php启用sphinx全文搜索的实现方法
Dec 24 #PHP
php中mail函数发送邮件失败的解决方法
Dec 24 #PHP
微信公众平台接口开发入门示例
Dec 24 #PHP
You might like
PHP实现的分页类定义与用法示例
2017/07/05 PHP
Laravel5.5以下版本中如何自定义日志行为详解
2018/08/01 PHP
PHP实现随机发放扑克牌
2020/04/21 PHP
用javascript连接access数据库的方法
2006/11/17 Javascript
Dom在ajax技术中的作用说明
2010/10/25 Javascript
ExtJS 入门
2010/10/29 Javascript
jQuery事件绑定.on()简要概述及应用
2013/02/07 Javascript
Jquery选择子控件"大于号"和" "区别介绍及使用示例
2013/06/25 Javascript
JS简单实现元素复制示例附图
2013/11/19 Javascript
js动态修改表格行colspan列跨度的方法
2015/03/30 Javascript
仅9张思维导图帮你轻松学习Javascript 就这么简单
2016/06/01 Javascript
vue如何使用 Slot 分发内容实例详解
2017/09/05 Javascript
微信小程序如何像vue一样在动态绑定类名
2018/04/17 Javascript
JS数组去重常用方法实例小结【4种方法】
2018/05/28 Javascript
Vue Promise的axios请求封装详解
2018/08/13 Javascript
Vue 中的受控与非受控组件的实现
2018/12/17 Javascript
Angular7.2.7路由使用初体验
2019/03/01 Javascript
JS实现的对象去重功能示例
2019/06/04 Javascript
Vue开发环境中修改端口号的实现方法
2019/08/15 Javascript
JS图片懒加载的优点及实现原理
2020/01/10 Javascript
[03:05]DOTA2英雄基础教程 嗜血狂魔
2013/12/10 DOTA
Mac下Supervisor进程监控管理工具的安装与配置
2014/12/16 Python
Python中的zip函数使用示例
2015/01/29 Python
python 实现交换两个列表元素的位置示例
2019/06/26 Python
pandas中的数据去重处理的实现方法
2020/02/10 Python
Reebok官方旗舰店:美国知名健身品牌锐步
2019/01/07 全球购物
英国比较机场停车场网站:Airport Parking Essentials
2019/12/01 全球购物
科颜氏香港官方网店:Kiehl’s香港
2021/03/07 全球购物
What is the purpose of Void class? Void类的作用是什么?
2016/10/31 面试题
C语言50道问题
2014/10/23 面试题
教育专业个人求职信
2013/12/02 职场文书
买房子个人收入证明
2014/01/16 职场文书
贺卡寄语大全
2014/04/11 职场文书
银行贷款委托书范本
2014/10/11 职场文书
社区服务活动感想
2015/08/11 职场文书
python套接字socket通信
2022/04/01 Python