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 JSON格式数据交互实例代码详解
Jan 13 PHP
解析smarty模板中类似for的功能实现
Jun 18 PHP
php class类的用法详细总结
Oct 17 PHP
php网站地图生成类示例
Jan 13 PHP
Linux系统下使用XHProf和XHGui分析PHP运行性能
Dec 08 PHP
php实现URL加密解密的方法
Nov 17 PHP
PHP中使用OpenSSL生成证书及加密解密
Feb 05 PHP
PHP实现微信模拟登陆并给用户发送消息的方法【文字,图片,图文】
Jun 29 PHP
PDO::getAttribute讲解
Jan 28 PHP
php输出控制函数和输出函数生成静态页面
Jun 27 PHP
php实现session共享的实例方法
Sep 19 PHP
PHP 文件写入和读取操作实例详解【必看篇】
Nov 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制作静态网站的模板框架(四)
2006/10/09 PHP
PHP使用Pear发送邮件(Windows环境)
2016/01/05 PHP
PHP使用token防止表单重复提交的方法
2016/04/07 PHP
Yii2 rbac权限控制之菜单menu实例教程
2016/04/28 PHP
PHP中FTP相关函数小结
2016/07/15 PHP
php_pdo 预处理语句详解
2016/11/21 PHP
laravel框架关于搜索功能的实现
2018/03/15 PHP
基于PHP的微信公众号的开发流程详解
2020/08/07 PHP
关于使用runtimeStyle属性问题讨论文章
2007/03/08 Javascript
JavaScript的public、private和privileged模式
2009/12/28 Javascript
HTML长文本截取含有HTML代码同样适用的两种方法
2013/07/31 Javascript
jquery实现带单选按钮的表格行选中时高亮显示
2013/08/01 Javascript
Javascript中的作用域和上下文深入理解
2015/07/03 Javascript
jQuery与getJson结合的用法实例
2015/08/07 Javascript
JS中JSON对象和String之间的互转及处理技巧
2016/04/06 Javascript
JavaScript实现二分查找实例代码
2017/02/22 Javascript
Javascript中引用类型传递的知识点小结
2017/03/06 Javascript
js处理包含中文的字符串实例
2017/10/11 Javascript
JS实现字符串中去除指定子字符串方法分析
2018/05/17 Javascript
vue-cli 打包后提交到线上出现 "Uncaught SyntaxError:Unexpected token" 报错
2018/11/06 Javascript
Webpack4+Babel7+ES6兼容IE8的实现
2019/04/10 Javascript
javascript中this的用法实践分析
2019/07/29 Javascript
对于Python中RawString的理解介绍
2016/07/07 Python
多版本Python共存的配置方法
2017/05/22 Python
Python 和 JS 有哪些相同之处
2017/11/23 Python
Python动态导入模块的方法实例分析
2018/06/28 Python
对Python生成汉字字库文字,以及转换为文字图片的实例详解
2019/01/29 Python
pyinstaller参数介绍以及总结详解
2019/07/12 Python
Python守护进程实现过程详解
2020/02/10 Python
HTML5 Geolocation API的正确使用方法
2018/12/04 HTML / CSS
Servlet如何得到服务器的信息
2015/12/22 面试题
中专毕业生自我鉴定
2013/11/21 职场文书
给同学的道歉信
2014/01/16 职场文书
舞蹈专业大学生职业规划范文
2014/03/12 职场文书
电力安全事故反思
2014/04/27 职场文书
群众路线党员个人剖析材料
2014/10/08 职场文书