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 攻击方法之谈php+mysql注射语句构造
Oct 30 PHP
PHP中的strtr函数使用介绍(str_replace)
Oct 20 PHP
PHP数据库万能引擎类adodb配置使用以及实例集锦
Jun 12 PHP
让ThinkPHP支持大小写url地址访问的方法
Oct 31 PHP
php实现递归与无限分类的方法
Feb 16 PHP
WordPress自定义时间显示格式
Mar 27 PHP
THinkPHP获取客户端IP与IP地址查询的方法
Nov 14 PHP
微信封装的调用微信签名包的类库
Jun 08 PHP
PHP利用Cookie设置用户30分钟未操作自动退出功能
Jul 03 PHP
ThinkPHP实现转换数据库查询结果数据到对应类型的方法
Nov 16 PHP
浅谈Laravel模板实体转义带来的坑
Oct 22 PHP
利用PHP内置SERVER开启web服务(本地开发使用)
Mar 09 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
PHILIPS AE3805收音机的分析打磨
2021/03/02 无线电
dedecms系统常用术语汇总
2007/04/03 PHP
php xml 入门学习资料
2011/01/01 PHP
PHP 字符串长度判断效率更高的方法
2014/03/02 PHP
CentOS6.5 编译安装lnmp环境
2014/12/21 PHP
CodeIgniter 完美解决URL含有中文字符串
2016/05/13 PHP
PHP分页初探 一个最简单的PHP分页代码的简单实现
2016/06/21 PHP
给大家分享几个常用的PHP函数
2017/01/15 PHP
PHP实现git部署的方法教程
2017/12/19 PHP
js兼容标准的表格变色效果
2008/06/28 Javascript
javascript 解析url的search方法
2010/02/09 Javascript
jquery 最简单易用的表单验证插件
2010/02/27 Javascript
js控制表单操作的常用代码小结
2013/08/15 Javascript
js跨浏览器实现将字符串转化为xml对象的方法
2013/09/25 Javascript
Js获取下拉框选定项的值和文本的实现代码
2014/02/26 Javascript
WordPress中鼠标悬停显示和隐藏评论及引用按钮的实现
2016/01/12 Javascript
javascript this详细介绍
2016/09/19 Javascript
js图片轮播手动切换特效
2017/01/12 Javascript
关于使用js算总价的问题
2017/06/23 Javascript
jQuery实现使用sort方法对json数据排序的方法
2018/04/17 jQuery
JS实现图片切换效果
2018/11/17 Javascript
重学JS 系列:聊聊继承(推荐)
2019/04/11 Javascript
python处理大数字的方法
2015/05/27 Python
数据清洗--DataFrame中的空值处理方法
2018/07/03 Python
Django uwsgi Nginx 的生产环境部署详解
2019/02/02 Python
python交互界面的退出方法
2019/02/16 Python
Python reduce函数作用及实例解析
2020/05/08 Python
Html5插件教程之添加浏览器放大镜效果的商品橱窗
2016/01/07 HTML / CSS
复古服装:RetroStage
2019/05/10 全球购物
管理学专业个人求职信范文
2013/09/21 职场文书
出纳岗位职责模板
2013/11/27 职场文书
南京青奥会口号
2014/06/12 职场文书
学雷锋活动总结报告
2014/06/26 职场文书
2015年司法局工作总结
2015/05/22 职场文书
《雷雨》教学反思
2016/02/20 职场文书
传单、海报早OUT了,另类传单营销方案送给你!
2019/07/15 职场文书