$_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

最新文章

  1. 基础数据结构【一】————数组
  2. Siri ShortCut 调研(含Demo)
  3. 每天一个Linux命令 7
  4. 有关UNICODE、ANSI字符集和相关字符串操作的总结[转]
  5. go中如何使用easyjson_如何在 Go 中编写无 Bug 的 Goroutines?
  6. Vue 跨平台性能优化十法
  7. 计算机 游戏 排名2015年,2015十大高性能游戏笔记本电脑排行 最强游戏本推荐
  8. java 对第三方的异常_Java第三方API调用打开文件方法时抛出异常
  9. 算法的力量(李开复)
  10. Machine Learning(CF-940F)
  11. P-Called-Party-ID头域
  12. MATLAB卷积conv、conv2、convn详解
  13. [nssl 1322][jzoj cz 2109] 清兵线 {dp}
  14. 孙子兵法全文(原文)
  15. dnf剑魂buff等级上限_DNF:95职业加强前瞻,爆发能力明显提升,瞎子大冰可点TP!...
  16. 开山斧 0.3.5版本
  17. 卧槽!用低代码平台,3个小时搭了一套“健康上报系统”!
  18. 小米多看|变身番茄todo计时,时钟
  19. 腾讯自研新一代AV1编解码器
  20. 量子力学=粒子理论?量子波函数或许没有想象中那么神秘

热门文章

  1. 面试归来,感觉无望,下次再战
  2. Android——eclipse下运行android项目报错 Conversion to Dalvik format failed with error 1解决...
  3. ServletConfig讲解
  4. Redis使用详细教程
  5. 开发extjs常用的插件
  6. 李彦宏告诫年轻人:向前看两年
  7. Elasticsearch一些常用操作和一些基础概念
  8. 使用Nexus搭建Maven仓库
  9. 商务部回应中兴被罚:坚决反对美国用国内法制裁中企
  10. 中澳科学家在量子安全通信领域合作研究取得突破性进展