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 mkdir()定义和用法
Jan 14 PHP
PHP批量采集下载美女图片的实现代码
Jun 03 PHP
对于ThinkPHP框架早期版本的一个SQL注入漏洞详细分析
Jul 04 PHP
PHP基于单例模式实现的数据库操作基类
Jan 15 PHP
Thinkphp框架中D方法与M方法的区别
Dec 23 PHP
[原创]PHP正则删除html代码中a标签并保留标签内容的方法
May 23 PHP
PHP中的浅复制与深复制的实例详解
Oct 26 PHP
PHP让数组中有相同值的组成新的数组实例
Dec 31 PHP
实例讲解PHP表单验证功能
Feb 15 PHP
PHP调用全国天气预报数据接口查询天气示例
Feb 20 PHP
解决laravel查询构造器中的别名问题
Oct 17 PHP
Thinkphp极验滑动验证码实现步骤解析
Nov 24 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与flash as3 socket通信传送文件实现代码
2014/08/16 PHP
js获取变量
2006/08/24 Javascript
一个加密JavaScript的开源工具PACKER2.0.2
2006/11/04 Javascript
js RuntimeObject() 获取ie里面自定义函数或者属性的集合
2010/11/23 Javascript
jQuery中的val()示例应用
2014/02/26 Javascript
js设置文本框中焦点位置在最后的示例代码(简单实用)
2014/03/04 Javascript
jQuery瀑布流插件Wookmark使用实例
2014/04/02 Javascript
用js设置下拉框为只读的小技巧
2014/04/10 Javascript
JS实现随机乱撞彩色圆球特效的方法
2015/05/05 Javascript
JS实现带圆弧背景渐变效果的导航菜单代码
2015/10/13 Javascript
js手动播放图片实现图片轮播效果
2016/09/17 Javascript
JavaScript比较两个数组的内容是否相同(推荐)
2017/05/02 Javascript
使用json-server简单完成CRUD模拟后台数据的方法
2018/07/12 Javascript
vue 使某个组件不被 keep-alive 缓存的方法
2018/09/21 Javascript
深入浅析vue-cli@3.0 使用及配置说明
2019/05/08 Javascript
Angular2实现的秒表及改良版示例
2019/05/10 Javascript
在vue项目中使用codemirror插件实现代码编辑器功能
2019/08/27 Javascript
IDEA安装vue插件图文详解
2019/09/26 Javascript
vue-autoui自匹配webapi的UI控件的实现
2020/03/20 Javascript
[01:08:48]LGD vs OG 2018国际邀请赛淘汰赛BO3 第三场 8.25
2018/08/29 DOTA
python代码制作configure文件示例
2014/07/28 Python
Python函数嵌套实例
2014/09/23 Python
python从sqlite读取并显示数据的方法
2015/05/08 Python
python数据结构之链表详解
2017/09/12 Python
django中send_mail功能实现详解
2018/02/06 Python
python使用xlsxwriter实现有向无环图到Excel的转换
2018/12/12 Python
Python目录和文件处理总结详解
2019/09/02 Python
三星英国官网:Samsung英国
2018/09/25 全球购物
PHP如何与mysql建立链接
2013/05/05 面试题
八一建军节感言
2014/02/28 职场文书
投标承诺书怎么写
2014/05/24 职场文书
庆祝国庆节标语
2014/10/09 职场文书
开幕式邀请函
2015/01/31 职场文书
python tkinter模块的简单使用
2021/04/07 Python
Vue + iView实现Excel上传功能的完整代码
2021/06/22 Vue.js
六个好看实用的 HTML + CSS 后台登录入口页面
2022/04/28 HTML / CSS