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编程语言开发动态WAP页面
Oct 09 PHP
discuz 首页四格:最新话题+最新回复+热门话题+精华文章插件
Aug 19 PHP
使用PHP获取网络文件的实现代码
Jan 01 PHP
PHP页面间参数传递的四种方法详解
Jun 09 PHP
从刷票了解获得客户端IP的方法
Sep 21 PHP
php中preg_match的isU代表什么意思
Oct 01 PHP
php中array_column函数简单实现方法
Jul 11 PHP
php curl批处理实现可控并发异步操作示例
May 09 PHP
JSON PHP中,Json字符串反序列化成对象/数组的方法
May 31 PHP
PHP实现的curl批量请求操作示例
Jun 06 PHP
Yii2框架实现登陆添加验证码功能示例
Jul 12 PHP
Laravel5.1 框架表单验证操作实例详解
Jan 07 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
综合图片计数器
2006/10/09 PHP
php setcookie函数的参数说明及其用法
2014/04/20 PHP
php switch语句多个值匹配同一代码块应用示例
2014/07/29 PHP
PHP的中使用非缓冲模式查询数据库的方法
2017/02/05 PHP
PHP 中使用ajax时一些常见错误总结整理
2017/02/27 PHP
在Laravel5.6中使用Swoole的协程数据库查询
2018/06/15 PHP
详解php命令注入攻击
2019/04/06 PHP
IE与Firefox在JavaScript上的7个不同句法分享
2011/10/30 Javascript
jquery 多行文本框(textarea)高度变化
2013/07/03 Javascript
JS实现将人民币金额转换为大写的示例代码
2014/02/13 Javascript
jQuery中parentsUntil()方法用法实例
2015/01/07 Javascript
JavaScript简单判断复选框是否选中及取出值的方法
2015/08/13 Javascript
微信小程序实现打开内置地图功能【附源码下载】
2017/12/07 Javascript
vue页面离开后执行函数的实例
2018/03/13 Javascript
webpack4 升级迁移的实现
2018/09/12 Javascript
Phaser.js实现简单的跑酷游戏附源码下载
2018/10/26 Javascript
vue中实现高德定位功能
2019/12/03 Javascript
js实现带搜索功能的下拉框
2020/01/11 Javascript
深入解析Python中的线程同步方法
2016/06/14 Python
Swift 3.0在集合类数据结构上的一些新变化总结
2016/07/11 Python
打包发布Python模块的方法详解
2016/09/18 Python
python3+mysql查询数据并通过邮件群发excel附件
2018/02/24 Python
简单实现python数独游戏
2018/03/30 Python
浅谈Pycharm中的Python Console与Terminal
2019/01/17 Python
Pycharm如何打断点的方法步骤
2019/06/13 Python
关于python中plt.hist参数的使用详解
2019/11/28 Python
浅谈css3中calc在less编译时被计算的解决办法
2017/12/04 HTML / CSS
超市创业计划书
2014/04/24 职场文书
部门年终奖分配方案
2014/05/07 职场文书
书香家庭事迹材料
2014/05/09 职场文书
教师党员个人自我剖析材料
2014/09/29 职场文书
山楂树之恋观后感
2015/06/11 职场文书
2016年寒假政治学习心得体会
2015/10/09 职场文书
2016中学教师读书心得体会
2016/01/13 职场文书
Sql-Server数据库单表查询 4.3实验课
2021/04/05 SQL Server
人物搭配车车超萌联名预备中 【咒术迴战】 ⨯ 【天竺鼠车车】 展开合作
2022/04/11 日漫