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加密解密的代码
Jul 16 PHP
Php Image Resize图片大小调整的函数代码
Jan 17 PHP
浅析ThinkPHP中的pathinfo模式和URL重写
Jan 06 PHP
php异常处理使用示例
Feb 25 PHP
Yii分页用法实例详解
Dec 04 PHP
php读取csc文件并输出
May 21 PHP
php 伪造HTTP_REFERER页面URL来源的三种方法
Sep 22 PHP
基于ThinkPHP5.0实现图片上传插件
Sep 25 PHP
PHP实现断点续传乱序合并文件的方法
Sep 06 PHP
PHP后期静态绑定实例浅析
Dec 21 PHP
PHP实现将上传图片自动缩放到指定分辨率,并保持清晰度封装类示例
Jun 17 PHP
用php实现分页效果的示例代码
Dec 10 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+MySQL5.0中文乱码解决方法
2006/11/20 PHP
php中的路径问题与set_include_path使用介绍
2014/02/11 PHP
javascript concat数组累加 示例
2009/09/03 Javascript
jquery拖动插件(jquery.drag)使用介绍
2013/06/18 Javascript
JS实现CheckBox复选框全选全不选功能
2015/05/06 Javascript
javascript原型模式用法实例详解
2015/06/04 Javascript
JavaScript实现弹出广告功能
2017/03/30 Javascript
vue2.0父子组件间通信的实现方法
2017/04/19 Javascript
详解基于Node.js的微信JS-SDK后端接口实现代码
2017/07/15 Javascript
vue实现点击图片放大效果
2017/08/15 Javascript
Bootstrap table使用方法汇总
2017/11/17 Javascript
javascript中UMD规范的代码推演
2018/08/29 Javascript
在 Vue 应用中使用 Netlify 表单功能的方法详解
2019/06/03 Javascript
详解钉钉小程序组件之自定义模态框(弹窗封装实现)
2020/03/07 Javascript
js 将多个对象合并成一个对象 assign方法的实现
2020/09/24 Javascript
javascript实现左右缓动动画函数
2020/11/25 Javascript
[01:32:50]DOTA2-DPC中国联赛 正赛 DLG vs XG BO3 第一场 1月25日
2021/03/11 DOTA
[07:25]DOTA2-DPC中国联赛2月5日Recap集锦
2021/03/11 DOTA
初步探究Python程序的执行原理
2015/04/11 Python
Python操作MongoDB详解及实例
2017/05/18 Python
使用EduBlock轻松学习Python编程
2018/10/08 Python
python实现从pdf文件中提取文本,并自动翻译的方法
2018/11/28 Python
HTML5资源预加载(Link prefetch)详细介绍(给你的网页加速)
2014/05/07 HTML / CSS
phonegap常用事件总结(必看篇)
2017/03/31 HTML / CSS
Html5页面二次分享的实现
2018/07/30 HTML / CSS
html2 canvas生成清晰的图片实现打印功能
2019/09/23 HTML / CSS
意大利顶级奢侈品电商:LUISAVIAROMA(支持中文)
2020/05/26 全球购物
为什么在使用动态 SQL 语句时必须为低层数据库对象授予权限
2012/12/13 面试题
致800米运动员广播稿
2014/02/16 职场文书
《挑山工》的教学反思
2014/02/16 职场文书
手术室护士长竞聘书
2014/03/31 职场文书
2014年大学生四年规划书范文
2014/04/03 职场文书
公司会议策划方案
2014/05/17 职场文书
贷款担保申请书
2014/05/20 职场文书
标准发言稿结尾
2019/07/18 职场文书
python中字符串String及其常见操作指南(方法、函数)
2022/04/06 Python