设为首页 收藏本站
查看: 716|回复: 0

[经验分享] PHP中的一些路径变量或函数

[复制链接]

尚未签到

发表于 2017-3-22 10:59:03 | 显示全部楼层 |阅读模式
<?php  /**  __FILE__ ,  getcwd(),  $_SERVER["REQUEST_URI"],  $_SERVER["SCRIPT_NAME"],  $_SERVER["PHP_SELF"],  $_SERVER["SCRIPT_FILENAME"],    来观察一下这些变量或函数 ...
  <?php
  /**
  __FILE__ ,
  getcwd(),
  $_SERVER["REQUEST_URI"],
  $_SERVER["SCRIPT_NAME"],
  $_SERVER["PHP_SELF"],
  $_SERVER["SCRIPT_FILENAME"],
  
  来观察一下这些变量或函数的异同.
  假设有一个请求地址为: http://localhost:8080/test.php/age=20
  而test.php 的完整路径是: D:/server/www/example/test.php
  1) getcwd()
  将得到浏览器请求的页面文件所在的目录. 即test.php 文件所在的目录: D:/server/www/example/ ,
  如果在test.php 执行了 require 或 include 语句, 比如 inculde(”test_dir/test2.php”),
  那么在 test2.php 里 getcwd()函数 返回的也将是 test.php 所在的目录.
  2) __FILE__
  一个魔术变量, 用它将得到 __FILE__ 变量所在文件的完整路径,
  比如: test.php 里 __FILE__ 将得到 D:/server/www/example/test.php ,
  test_dir/test2.php 里的 __FILE__ 将得到 D:/server/www/example/test_dir/test2.php
  
  3) $_SERVER["SCRIPT_FILENAME"]
  将得到浏览器请求的页面文件的完整路径.
  test.php 和 test_dir/test2.php 里用 $_SERVER["SCRIPT_NAME"] 都将得到 D:/server/www/example/test.php.
  
  4) $_SERVER["SCRIPT_NAME"]
  将得到浏览器请求的页面文件的文件名,注意: 与 $_SERVER["SCRIPT_NAME"] 不同, 此变量只得到文件名而不包含路径,
  在test.php 与 test_dir/test2.php 用$_SERVER["SCRIPT_NAME"] 得到的都将是 test.php.
  当然, 在test.php 与 test_dir/test2.php 执行 basename($_SERVER["SCRIPT_FILENAME"]) 与 $_SERVER["SCRIPT_NAME"] 相同.
  执行 在test.php 与 test_dir/test2.php 执行 realpath(”test.php”) 得到的结果与 $_SERVER["SCRIPT_FILENAME"] 相同.
  
  5) $_SERVER["PHP_SELF"]
  将得到浏览器请求页面的文件名, 并剥掉问号 ? 后的内容, 注意:不包含路径,
  比如在客户端里请求 http://localhost:8080/test.php?age=20&name=Tom,
  那么test.php 和 test_dir/test2.php 的 $_SERVER["PHP_SELF"] 都将得到 “test.php”。“age=20&name=Tom”被剥掉。
  而如果客户端里请求 http://localhost:8080/test.php/age=20&name=Tom,
  那么test.php 和 test_dir/test2.php 的 $_SERVER["PHP_SELF"] 都将得到 “test.php/age=20&name=Tom”。
  
  6) $_SERVER["REQUEST_URI"]
  将得到浏览器请求页面的文件名, 以及文件名之后的所有内容(注意: 井号 # 之后的内容将被略去),
  比如在客户端里请求 http://localhost:8080/test.php?age=20&name=Tom,
  那么test.php 和 test_dir/test2.php 的 $_SERVER["REUEST_URI"] 都将得到 “test.php”。“age=20&name=Tom”被剥掉。
  而如果客户端里请求 http://localhost:8080/test.php/age=20&name=Tom,
  那么test.php 和 test_dir/test2.php 的 $_SERVER["REQUEST_URI"] 都将得到 “test.php/age=20&name=Tom”。
  */
  
  // test.php:
  echo “test1.php variables <br />”;
  echo “getcwd: “, getcwd(), “<br />”;
  echo “__FILE__: “, __FILE__, “<br />”;
  echo “REQUEST_URI: “, $_SERVER["REQUEST_URI"], “<br />”;
  echo “SCRIPT_NAME: “, $_SERVER["SCRIPT_NAME"], “<br />”;
  echo “PHP_SELF: “, $_SERVER["PHP_SELF"], “<br />”;
  echo “SCRIPT_FILENAME “, $_SERVER["SCRIPT_FILENAME"] , “<br />”;
  
  // 把 test2.php 包含进来, 在 test2.php 里输出上面的变量,看有什么不同:
  include_once(”test2/test2.php”);
  
  ?>

运维网声明 1、欢迎大家加入本站运维交流群:群②:261659950 群⑤:202807635 群⑦870801961 群⑧679858003
2、本站所有主题由该帖子作者发表,该帖子作者与运维网享有帖子相关版权
3、所有作品的著作权均归原作者享有,请您和我们一样尊重他人的著作权等合法权益。如果您对作品感到满意,请购买正版
4、禁止制作、复制、发布和传播具有反动、淫秽、色情、暴力、凶杀等内容的信息,一经发现立即删除。若您因此触犯法律,一切后果自负,我们对此不承担任何责任
5、所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其内容的准确性、可靠性、正当性、安全性、合法性等负责,亦不承担任何法律责任
6、所有作品仅供您个人学习、研究或欣赏,不得用于商业或者其他用途,否则,一切后果均由您自己承担,我们对此不承担任何法律责任
7、如涉及侵犯版权等问题,请您及时通知我们,我们将立即采取措施予以解决
8、联系人Email:admin@iyunv.com 网址:www.yunweiku.com

所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其承担任何法律责任,如涉及侵犯版权等问题,请您及时通知我们,我们将立即处理,联系人Email:kefu@iyunv.com,QQ:1061981298 本贴地址:https://www.yunweiku.com/thread-353528-1-1.html 上篇帖子: PHP分页类 下篇帖子: php学习1 基础
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

扫码加入运维网微信交流群X

扫码加入运维网微信交流群

扫描二维码加入运维网微信交流群,最新一手资源尽在官方微信交流群!快快加入我们吧...

扫描微信二维码查看详情

客服E-mail:kefu@iyunv.com 客服QQ:1061981298


QQ群⑦:运维网交流群⑦ QQ群⑧:运维网交流群⑧ k8s群:运维网kubernetes交流群


提醒:禁止发布任何违反国家法律、法规的言论与图片等内容;本站内容均来自个人观点与网络等信息,非本站认同之观点.


本站大部分资源是网友从网上搜集分享而来,其版权均归原作者及其网站所有,我们尊重他人的合法权益,如有内容侵犯您的合法权益,请及时与我们联系进行核实删除!



合作伙伴: 青云cloud

快速回复 返回顶部 返回列表