php中$_SERVER[PHP_SELF] 和 $_SERVER[SCRIPT_NAME]之间的区别


Posted in PHP onSeptember 05, 2009

“PHP_SELF”
当前正在执行脚本的文件名,与 document root 相关。举例来说,在 URL 地址为 https://3water.com/test.php/foo.bar 的脚本中使用 $_SERVER['PHP_SELF'] 将会得到 /test.php/foo.bar 这个结果。__FILE__ 常量包含当前(例如包含)文件的绝对路径和文件名。

“SCRIPT_NAME”
包含当前脚本的路径。这在页面需要指向自己时非常有用。__FILE__ 包含当前文件的绝对路径和文件名(例如包含文件)。

主要的原因如像:$_SERVER['PHP_SELF'] ? $_SERVER['PHP_SELF'] : $_SERVER['SCRIPT_NAME'];

找到更好的原因是:
今天在Dreamhost上安?一套PHP程序?r???接的地址都??喑鲆??cgi-system?恚??浅绦虻?onfig?K?]有???,查了查?料才??是SCRIPT_NAME和PHP_SELF不同造成的???。
通常在本?C?y? $_SERVER['SCRIPT_NAME'] 跟 $_SERVER['PHP_SELF'] 大概看不出有什?不同,因?榇蟛糠值?HP不是以CGI模式?行的。
但 DreamHost 上的 PHP 是以 CGI 方式?行,二者就有明?不同的差?。
echo $_SERVER['SCRIPT_NAME']; // (/cgi-system/php.cgi)
echo $_SERVER['PHP_SELF']; // (/admin/test.php)

从http://lists.nyphp.org/pipermail/talk/2005-July/015339.html 发现了一个说明。老外说的。

SCRIPT_NAME solves all the problems mentioned
in this thread - it's just the script name, without any extra garbage
that might be tacked on by the user. PHP_SELF explicitly includes that
extra garbage, so solutions in this thread that involve stripping the
garbage off of PHP_SELF to make it safe are really, really missing the
point - just use SCRIPT_NAME instead. Please don't use FORM ACTION=”";
according to the spec, what the browser does with that is undefined, so
even if it works in current browsers, it might not work in future ones

PHP 相关文章推荐
PHP输出控制功能在简繁体转换中的应用
Oct 09 PHP
PHP 5.3.0 安装分析心得
Aug 07 PHP
php面向对象全攻略 (七) 继承性
Sep 30 PHP
fleaphp常用方法分页之Pager使用方法
Apr 23 PHP
php中XMLHttpRequest(Ajax)不能设置自定义的Referer的解决方法
Nov 26 PHP
php数组中包含中文的排序方法
Jun 03 PHP
PHP SESSION的增加、删除、修改、查看操作
Mar 20 PHP
PHP 实现的将图片转换为TXT
Oct 21 PHP
thinkPHP5.0框架配置格式、加载解析与读取方法
Mar 17 PHP
PHP的mysqli_thread_id()函数讲解
Jan 24 PHP
php设计模式之适配器模式原理、用法及注意事项详解
Sep 24 PHP
TP框架实现上传一张图片和批量上传图片的方法分析
Apr 23 PHP
php getsiteurl()函数
Sep 05 #PHP
PHP 内存缓存加速功能memcached安装与用法
Sep 03 #PHP
用PHP读取flv文件的播放时间长度
Sep 03 #PHP
用php将任何格式视频转为flv的代码
Sep 03 #PHP
ajax php 实现写入数据库
Sep 02 #PHP
php 正则表达式小结
Aug 31 #PHP
自动把纯文本转换成Web页面的php代码
Aug 27 #PHP
You might like
PHPExcel读取Excel文件的实现代码
2011/12/06 PHP
JSON在PHP中的应用介绍
2012/09/08 PHP
PHP中::、->、self、$this几种操作符的区别介绍
2013/04/24 PHP
thinkPHP中验证码的简单使用方法
2015/12/26 PHP
PHP编程计算日期间隔天数的方法
2017/04/26 PHP
JavaScript DOM 学习第九章 选取范围的介绍
2010/02/19 Javascript
javascript 实用的文字链提示框效果
2010/06/30 Javascript
getElementByIdx_x js自定义getElementById函数
2012/01/24 Javascript
Javascript的数组与字典用法与遍历对象的属性技巧
2012/11/07 Javascript
Extjs改变树节点的勾选状态点击按钮将复选框去掉
2013/11/14 Javascript
5款JavaScript代码压缩工具推荐
2014/07/07 Javascript
js+css实现tab菜单切换效果的方法
2015/01/20 Javascript
jQuery ui实现动感的圆角渐变网站导航菜单效果代码
2015/08/26 Javascript
gulp-htmlmin压缩html的gulp插件实例代码
2016/06/06 Javascript
通过正则表达式获取url中参数的简单实现
2016/06/07 Javascript
微信小程序自定义组件之可清除的input组件
2018/07/17 Javascript
webpack4.x开发环境配置详解
2018/08/04 Javascript
微信小程序中使用自定义图标(阿里icon)的方法
2018/08/20 Javascript
Bootstrap table 实现树形表格联动选中联动取消功能
2019/09/30 Javascript
vue数据更新UI不刷新显示的解决办法
2020/08/06 Javascript
栈和队列数据结构的基本概念及其相关的Python实现
2015/08/24 Python
Python中的条件判断语句与循环语句用法小结
2016/03/21 Python
Python实现的破解字符串找茬游戏算法示例
2017/09/25 Python
Python实现的tcp端口检测操作示例
2018/07/24 Python
如何安装多版本python python2和python3共存以及pip共存
2018/09/18 Python
使用OpenCV实现仿射变换—旋转功能
2019/08/29 Python
解决python 读取excel时 日期变成数字并加.0的问题
2019/10/08 Python
超实用的 30 段 Python 案例
2019/10/10 Python
TensorFlow 多元函数的极值实例
2020/02/10 Python
非常漂亮的CSS3百叶窗焦点图动画
2016/02/24 HTML / CSS
HTML5 b和i标记将被赋予真正的语义
2009/07/16 HTML / CSS
限量版运动鞋和街头服饰:TheDrop
2020/09/06 全球购物
白酒业务员岗位职责
2013/12/27 职场文书
乡镇交通安全实施方案
2014/03/29 职场文书
学校学雷锋活动总结
2014/06/26 职场文书
ubuntu开机后ROS程序自启动问题
2022/12/24 Servers