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 相关文章推荐
PHP:风雨欲来 路在何方?
Oct 09 PHP
关于文本留言本的分页代码
Oct 09 PHP
php中判断一个字符串包含另一个字符串的方法
Mar 19 PHP
ajax实现无刷新分页(php)
Jul 18 PHP
深入eAccelerator与memcached的区别详解
Jun 06 PHP
ThinkPHP的MVC开发机制实例解析
Aug 23 PHP
PHP中字符安全过滤函数使用小结
Feb 25 PHP
PHP生成唯一订单号的方法汇总
Apr 16 PHP
PHP获取文件行数的方法
Jun 10 PHP
PHP的Yii框架中移除组件所绑定的行为的方法
Mar 18 PHP
Thinkphp和onethink实现微信支付插件
Apr 13 PHP
php封装的单文件(图片)上传类完整实例
Oct 18 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 feof用来识别文件末尾字符的方法
2010/08/01 PHP
php设计模式  Command(命令模式)
2011/06/17 PHP
解析阿里云ubuntu12.04环境下配置Apache+PHP+PHPmyadmin+MYsql
2013/06/26 PHP
twig里使用js变量的方法
2016/02/05 PHP
IE和Firefox的Javascript兼容性总结[推荐收藏]
2011/10/19 Javascript
JavaScript中valueOf函数与toString方法深入理解
2012/12/02 Javascript
Jquery遍历节点的方法小集
2014/01/22 Javascript
Javascript遍历table中的元素示例代码
2014/07/08 Javascript
详解js闭包
2014/09/02 Javascript
jQuery validate插件实现ajax验证重复的2种方法
2016/01/22 Javascript
jquery easyui datagrid实现增加,修改,删除方法总结
2016/05/25 Javascript
浅谈原生JS实现jQuery的animate()动画示例
2017/03/08 Javascript
详解Angular4中路由Router类的跳转navigate
2017/06/09 Javascript
BootstrapTable加载按钮功能实例代码详解
2017/09/22 Javascript
快速解决layui弹窗按enter键不停弹窗的问题
2019/09/18 Javascript
如何使用JavaScript实现无缝滚动自动播放轮播图效果
2020/08/20 Javascript
vue实现防抖的实例代码
2021/01/11 Vue.js
[03:06]2018年度CS GO最具人气解说-完美盛典
2018/12/16 DOTA
跟老齐学Python之玩转字符串(2)更新篇
2014/09/28 Python
将Django框架和遗留的Web应用集成的方法
2015/07/24 Python
requests和lxml实现爬虫的方法
2017/06/11 Python
python绘制双柱形图代码实例
2017/12/14 Python
在IPython中执行Python程序文件的示例
2018/11/01 Python
Python数据可视化:幂律分布实例详解
2019/12/07 Python
Python+PyQt5实现灭霸响指功能
2020/05/25 Python
音频处理 windows10下python三方库librosa安装教程
2020/06/20 Python
Python必须了解的35个关键词
2020/07/16 Python
如何创建一个Flask项目并进行简单配置
2020/11/18 Python
Super-Pharm波兰:药房和香水在一个地方
2020/08/18 全球购物
介绍一下OSI七层模型
2012/07/03 面试题
年终考核实施方案
2014/05/26 职场文书
2014年会计工作总结
2014/11/27 职场文书
2014年党员个人工作总结
2014/12/02 职场文书
2015年元旦标语大全
2014/12/09 职场文书
中班下学期个人总结
2015/02/12 职场文书
Java 多线程协作作业之信号同步
2022/05/11 Java/Android