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 相关文章推荐
PHP4引用文件语句的对比
Oct 09 PHP
台湾中原大学php教程孙仲岳主讲
Jan 07 PHP
一个简单且很好用的php分页类
Oct 26 PHP
php更新修改excel中的内容实例代码
Feb 26 PHP
在PHP中使用X-SendFile头让文件下载更快
Jun 01 PHP
php实现读取超大文件的方法
Jul 28 PHP
php字符串截取函数用法分析
Nov 25 PHP
PHP自毁程序(慎用)
Jul 09 PHP
php使用timthumb生成缩略图的方法
Jan 22 PHP
PHP错误处理函数
Apr 03 PHP
yii2实现分页,带搜索的分页功能示例
Jan 07 PHP
Ajax请求PHP后台接口返回信息的实例代码
Aug 21 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中使用gettext来支持多语言的方法
2011/05/02 PHP
用PHP生成excel文件到指定目录
2015/06/22 PHP
thinkPHP3.2简单实现文件上传的方法
2016/05/16 PHP
javascript 一个函数对同一元素的多个事件响应
2009/07/25 Javascript
jquery 注意事项与常用语法小结
2010/06/07 Javascript
web的各种前端打印方法之jquery打印插件jqprint实现网页打印
2013/01/09 Javascript
jQuery中:animated选择器用法实例
2014/12/29 Javascript
javascript绘制漂亮的心型线效果完整实例
2016/02/02 Javascript
JavaScript中获取纯正的undefined的方法
2016/03/06 Javascript
javascript中apply、call和bind的使用区别
2016/04/05 Javascript
JavaScrip数组删除特定元素的几种方法总结
2017/09/06 Javascript
浅谈react-router HashRouter和BrowserRouter的使用
2017/12/29 Javascript
node.js的Express服务器基本使用教程
2019/01/09 Javascript
vue双向绑定及观察者模式详解
2019/03/19 Javascript
微信小程序点击按钮动态切换input的disabled禁用/启用状态功能
2020/03/07 Javascript
Python常用知识点汇总
2016/05/08 Python
Python实现string字符串连接的方法总结【8种方式】
2018/07/06 Python
解决安装pycharm后不能执行python脚本的问题
2019/01/19 Python
python3 mmh3安装及使用方法
2019/10/09 Python
解决pytorch报错:AssertionError: Invalid device id的问题
2020/01/10 Python
Python2和Python3中@abstractmethod使用方法
2020/02/04 Python
深度学习入门之Pytorch 数据增强的实现
2020/02/26 Python
python数据分析工具之 matplotlib详解
2020/04/09 Python
CSS3色彩模式有哪些?CSS3 HSL色彩模式的定义
2016/04/26 HTML / CSS
详解HTML5 LocalStorage 本地存储
2016/12/23 HTML / CSS
美国著名的团购网站:Woot
2016/08/02 全球购物
英国内衣连锁店:Boux Avenue
2018/01/24 全球购物
100%羊绒:NakedCashmere
2020/08/26 全球购物
面向中国市场的在线海淘美妆零售网站:Beauty House美丽屋
2021/03/02 全球购物
如何查找网页漏洞
2016/06/22 面试题
汽车驾驶求职信
2013/10/25 职场文书
治超工作实施方案
2014/05/04 职场文书
面试必备的求职信
2014/05/25 职场文书
湖南省召开党的群众路线教育实践活动总结大会报告
2014/10/21 职场文书
导游词之峨眉乐山/兵马俑/北京故宫御花园
2019/09/03 职场文书
Redis三种集群模式详解
2021/10/05 Redis