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 相关文章推荐
window+nginx+php环境配置 附配置搭配说明
Dec 29 PHP
php做下载文件的实现代码及文件名中乱码解决方法
Feb 03 PHP
深入解析Session是否必须依赖Cookie
Aug 02 PHP
php写的AES加密解密类分享
Jun 20 PHP
浅析php工厂模式
Nov 25 PHP
PHP+Mysql+jQuery查询和列表框选择操作实例讲解
Oct 22 PHP
基于PHP给大家讲解防刷票的一些技巧
Nov 18 PHP
CI框架常用函数封装实例
Nov 21 PHP
php单元测试phpunit入门实例教程
Nov 17 PHP
PHP折半(二分)查找算法实例分析
May 12 PHP
PHP中遍历数组的三种常用方法实例分析
Jun 24 PHP
php和C#的yield迭代器实现方法对比分析
Jul 17 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/05/18 PHP
php之Smarty模板使用方法示例详解
2014/07/08 PHP
浅谈php函数serialize()与unserialize()的使用方法
2014/08/19 PHP
PHP CodeIgniter框架的工作原理研究
2015/03/30 PHP
PHP实现微信发红包程序
2015/08/24 PHP
Laravel timestamps 设置为unix时间戳的方法
2019/10/11 PHP
扩展jQuery 键盘事件的几个基本方法
2009/10/30 Javascript
JavaScript表单通过正则表达式验证电话号码
2014/03/14 Javascript
分享10个原生JavaScript技巧
2015/04/20 Javascript
JavaScript代码实现禁止右键、禁选择、禁粘贴、禁shift、禁ctrl、禁alt
2015/11/17 Javascript
轻松学习jQuery插件EasyUI EasyUI创建RSS Feed阅读器
2015/11/30 Javascript
JavaScript基本语法学习教程
2016/01/14 Javascript
Angularjs material 实现搜索框功能
2016/03/08 Javascript
微信开发 微信授权详解
2016/10/21 Javascript
微信小程序之仿微信漂流瓶实例
2016/12/09 Javascript
用原生JS实现简单的多选框功能
2017/06/12 Javascript
vue中render函数的使用详解
2018/10/12 Javascript
微信小程序实现图片选择并预览功能
2019/07/25 Javascript
js表达式与运算符简单操作示例
2020/02/15 Javascript
卸载vue2.0并升级vue_cli3.0的实例讲解
2020/02/16 Javascript
基于js实现逐步显示文字输出代码实例
2020/04/02 Javascript
[03:16]DOTA2完美大师赛主赛事首日集锦
2017/11/23 DOTA
[57:59]完美世界DOTA2联赛循环赛 Ink Ice vs LBZS BO2第一场 11.05
2020/11/05 DOTA
pyqt4教程之实现半透明的天气预报界面示例
2014/03/02 Python
使用python为mysql实现restful接口
2018/01/05 Python
Python中使用logging和traceback模块记录日志和跟踪异常
2019/04/09 Python
python中resample函数实现重采样和降采样代码
2020/02/25 Python
Python编程快速上手——选择性拷贝操作案例分析
2020/02/28 Python
keras自定义损失函数并且模型加载的写法介绍
2020/06/15 Python
森海塞尔美国官网:Sennheiser耳机与耳麦
2017/07/19 全球购物
英国最大的化装舞会服装网站:Fancydress.com
2017/08/15 全球购物
中文专业学生自我评价范文
2014/02/06 职场文书
2015大学生实训报告
2014/11/05 职场文书
MySQL Innodb索引机制详细介绍
2021/11/23 MySQL
微软官方消息,在 2023 年 4 月 11 日之后微软将不再为 Office 2013 和 Skype for Business 2015 提供安全更新
2022/04/21 数码科技
html中两种获取标签内的值的方法
2022/06/16 jQuery