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 $_SERVER详解
Jan 16 PHP
php面向对象全攻略 (十五) 多态的应用
Sep 30 PHP
php 数组二分法查找函数代码
Feb 16 PHP
基于php伪静态的实现详细介绍
Apr 28 PHP
解析Linux下Varnish缓存的配置优化
Jun 20 PHP
神盾加密解密教程(一)PHP变量可用字符
May 28 PHP
PDO防注入原理分析以及使用PDO的注意事项总结
Oct 23 PHP
php实现的单一入口应用程序实例分析
Sep 23 PHP
PHP 微信支付类 demo
Nov 30 PHP
PHP设置头信息及取得返回头信息的方法
Jan 25 PHP
PHP与SQL语句写一句话木马总结
Oct 11 PHP
thinkphp5.1 框架钩子和行为用法实例分析
May 25 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超级全局变量
2010/01/26 PHP
解析PHP中的正则表达式以及模式匹配
2013/06/19 PHP
php实现的网络相册图片防盗链完美破解方法
2015/07/01 PHP
php rsa 加密,解密,签名,验签详解
2016/12/06 PHP
Zend Framework处理Json数据方法详解
2016/12/09 PHP
2017年最好用的9个php开发工具推荐(超好用)
2017/10/23 PHP
php微信公众号开发之答题连闯三关
2018/10/20 PHP
JS创建优美的页面滑动块效果 - Glider.js
2007/09/27 Javascript
javascript addBookmark 加入收藏 多浏览器兼容
2009/08/15 Javascript
Mac/Windows下如何安装Node.js
2013/11/22 Javascript
详解JavaScript ES6中的Generator
2015/07/28 Javascript
原生ajax处理json格式数据的实例代码
2016/12/25 Javascript
微信小程序 radio单选框组件详解及实例代码
2017/01/10 Javascript
vue.js实现用户评论、登录、注册、及修改信息功能
2020/05/30 Javascript
Vue中的无限加载vue-infinite-loading的方法
2018/04/08 Javascript
Angular项目如何升级至Angular6步骤全纪录
2018/09/03 Javascript
JavaScript中的null和undefined用法解析
2019/09/30 Javascript
js实现二级联动简单实例
2020/01/11 Javascript
JavaScript前端开发时数值运算的小技巧
2020/07/28 Javascript
Javascript前端下载后台传来的文件流代码实例
2020/08/18 Javascript
python进阶教程之模块(module)介绍
2014/08/30 Python
python3.5使用tkinter制作记事本
2016/06/20 Python
详解Python下ftp上传文件linux服务器
2018/06/21 Python
Python基于datetime或time模块分别获取当前时间戳的方法实例
2019/02/19 Python
python实现坦克大战游戏 附详细注释
2020/03/27 Python
Python warning警告出现的原因及忽略方法
2020/01/31 Python
客服主管岗位职责
2013/12/13 职场文书
《泉水》教学反思
2014/04/11 职场文书
法定代表人授权委托书范本
2014/10/07 职场文书
湖南省党的群众路线教育实践活动总结会议新闻稿
2014/10/21 职场文书
幼儿园新生开学寄语
2015/05/27 职场文书
《秋天的雨》教学反思
2016/02/19 职场文书
python not运算符的实例用法
2021/06/30 Python
Nginx配置之实现多台服务器负载均衡
2021/08/02 Servers
Nginx进程调度问题详解
2021/09/25 Servers
企业开发CSS命名BEM代码规范实践
2022/02/12 HTML / CSS