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面试题附答案
Jan 07 PHP
php中使用接口实现工厂设计模式的代码
Jun 17 PHP
基于php设计模式中单例模式的应用分析
May 15 PHP
PHP数字和字符串ID互转函数(类似优酷ID)
Jun 30 PHP
php遍历类中包含的所有元素的方法
May 12 PHP
WordPress中设置Post Type自定义文章类型的实例教程
May 10 PHP
WordPress过滤垃圾评论的几种主要方法小结
Jul 11 PHP
PHP strcmp()和strcasecmp()的区别实例
Nov 05 PHP
如何优雅的使用 laravel 的 validator验证方法
Nov 11 PHP
PHP7数组的底层实现示例
Aug 25 PHP
laravel 出现command not found问题的解决方案
Oct 23 PHP
TP5框架实现的数据库备份功能示例
Apr 05 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
php 无限级 SelectTree 类
2009/05/19 PHP
php无限分类且支持输出树状图的详细介绍
2013/06/19 PHP
示例详解Laravel的注册重构
2016/08/14 PHP
Linux系统中为php添加pcntl扩展
2016/08/28 PHP
PHP Callable强制指定回调类型的方法
2016/08/30 PHP
PHP定时任务获取微信access_token的方法
2016/10/10 PHP
Thinkphp结合ajaxFileUpload实现异步图片传输示例
2017/03/13 PHP
ajax+php实现无刷新验证手机号的实例
2017/12/22 PHP
javascript学习笔记(十一) 正则表达式介绍
2012/06/20 Javascript
jQuery下实现等待指定元素加载完毕(可改成纯js版)
2013/07/11 Javascript
javascript 弹出的窗口返回值给父窗口具体实现
2013/11/23 Javascript
JavaScript判断变量是对象还是数组的方法
2014/08/28 Javascript
原生js实现移动端瀑布流式代码示例
2015/12/18 Javascript
Webpack打包慢问题的完美解决方法
2017/03/16 Javascript
微信小程序自定义多选事件的实现代码
2018/05/17 Javascript
jQuery创建及操作xml格式数据示例
2018/05/26 jQuery
Element-ui tree组件自定义节点使用方法代码详解
2018/09/17 Javascript
Javascript 实现 Excel 导入生成图表功能
2018/10/22 Javascript
vue实现在v-html的html字符串中绑定事件
2019/10/28 Javascript
使用Element的InfiniteScroll 无限滚动组件报错的解决
2020/07/27 Javascript
JS禁用右键、禁用Ctrl+u、禁用Ctrl+s、禁用F12的实现代码
2020/12/01 Javascript
详解JavaScript编程中的window与window.screen对象
2015/10/26 Python
python抓取并保存html页面时乱码问题的解决方法
2016/07/01 Python
浅谈python数据类型及类型转换
2017/12/18 Python
python文件操作之批量修改文件后缀名的方法
2018/08/10 Python
Python实现E-Mail收集插件实例教程
2019/02/06 Python
使用纯 CSS 创作一个脉动 loader效果的源码
2018/09/28 HTML / CSS
美国领先的男士和女士内衣购物网站:Freshpair
2019/02/25 全球购物
奶茶店创业计划书范文
2014/01/17 职场文书
优秀信贷员先进事迹
2014/01/31 职场文书
英文求职信写作小建议
2014/02/16 职场文书
太太口服液广告词
2014/03/20 职场文书
会员活动策划方案
2014/08/19 职场文书
2014幼儿园保育员工作总结
2014/11/10 职场文书
幼儿园辞职信范文
2015/02/27 职场文书
秋季运动会加油词
2015/07/18 职场文书