$_SERVER['PHP_SELF']、$_SERVER['SCRIPT_NAME'] 与 $_SERVER['REQUEST_URI']三者的区别
2024-05-12 16:24:38
$_SERVER['PHP_SELF']、$_SERVER['SCRIPT_NAME'] 与 $_SERVER['REQUEST_URI'] 三者非常相似,返回的都是与当前 URL 或 PHP 程序文件相关的信息:
1.$_SERVER['PHP_SELF']:相对于网站根目录的路径及 PHP 程序名称。 2.$_SERVER['SCRIPT_NAME']:相对于网站根目录的路径及 PHP 程序文件名称。 3.$_SERVER['REQUEST_URI']:访问此页面所需的 URI 。 一个简单的例子可以看出它们的区别。URL 地址如下:
http://www.5idev.com/php/index.php/test/foo?username=hbolive $_SERVER['PHP_SELF'] 得到:/php/index.php/test/foo $_SERVER['SCRIPT_NAME'] 得到:/php/index.php $_SERVER['REQUEST_URI'] 得到:/php/index.php/test/foo?username=hbolive 从该例子可以看出:
1.$_SERVER['PHP_SELF'] 则反映的是 PHP 程序本身;2.$_SERVER['SCRIPT_NAME'] 反映的是程序文件本身(这在页面需要指向自己时非常有用);3.$_SERVER['REQUEST_URI'] 则反映了完整 URL 地址(不包括主机名)。
其实从各自的命名上,也可以体现出它们之间的细微差别。
特别的,对于如下地址:
http://www.5idev.com/$_SERVER['PHP_SELF'] 得到:/index.php $_SERVER['SCRIPT_NAME'] 得到:/index.php $_SERVER['REQUEST_URI'] 得到:/
至于有人提到 $_SERVER['PHP_SELF'] 与 $_SERVER['SCRIPT_NAME'] 在 PHP 以 CGI 模式运行下会有区别。由于 PHP 在 CGI 模式运行下并不多见,测试较为麻烦,在此就不再叙述了。如有这种情况,可注意并自行测试。 希望在理解了它们之间的区别之后,以便选择更适合自己程序的来使用。
转载于:https://www.cnblogs.com/ziguizi/p/10697448.html
最新文章
- 基础数据结构【一】————数组
- Siri ShortCut 调研(含Demo)
- 每天一个Linux命令 7
- 有关UNICODE、ANSI字符集和相关字符串操作的总结[转]
- go中如何使用easyjson_如何在 Go 中编写无 Bug 的 Goroutines?
- Vue 跨平台性能优化十法
- 计算机 游戏 排名2015年,2015十大高性能游戏笔记本电脑排行 最强游戏本推荐
- java 对第三方的异常_Java第三方API调用打开文件方法时抛出异常
- 算法的力量(李开复)
- Machine Learning(CF-940F)
- P-Called-Party-ID头域
- MATLAB卷积conv、conv2、convn详解
- [nssl 1322][jzoj cz 2109] 清兵线 {dp}
- 孙子兵法全文(原文)
- dnf剑魂buff等级上限_DNF:95职业加强前瞻,爆发能力明显提升,瞎子大冰可点TP!...
- 开山斧 0.3.5版本
- 卧槽!用低代码平台,3个小时搭了一套“健康上报系统”!
- 小米多看|变身番茄todo计时,时钟
- 腾讯自研新一代AV1编解码器
- 量子力学=粒子理论?量子波函数或许没有想象中那么神秘