php中$_SERVER[‘SCRIPT_NAME’]与$_SERVER[‘SCRIPT_FILENAME’]有什么不同


这篇文章主要讲解了“php中$_SERVER[‘SCRIPT_NAME’]与$_SERVER[‘SCRIPT_FILENAME’]有什么不同”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“php中$_SERVER[‘SCRIPT_NAME’]与$_SERVER[‘SCRIPT_FILENAME’]有什么不同”吧!在PHP中,有时需要知道脚本所处的位置,这时会用到$_SERVER[‘SCRIPT_NAME’]、$_SERVER[‘SCRIPT_FILENAME’]及__FILE__。那么他们之间有什么不同呢?

1、$_SERVER[‘SCRIPT_NAME’]
先说$_SERVER[‘SCRIPT_NAME’],它是包含当前运行脚本的路径,这是从客户端 香港云主机来看的路径。假如你访问的URL地址为http://www.yourdomain.com/test/test.php,那么在脚本中$_SERVER[‘SCRIPT_NAME’]将会是/test/test.php。如果你想引用脚本自身,例如把一个表单提交给自己处理时,这可以用这个。
另外还有一个$_SERVER[‘PHP_SELF’],看上去似乎和$_SERVER[‘SCRIPT_NAME’]一样,不过如果你访问的URL地址为http://www.yourdomain.com/test/test.php/foo.bar,那么$_SERVER[‘PHP_SELF’]将会是/test/test.php/foo.bar。服务器获取当前文件名时会用到!来自 http://hi.baidu.com/lovehosejing/item/96af172986fb55929c63d1ec通常情况下,PHP $_SERVER[‘SCRIPT_FILENAME’] 与 __FILE__ 都会返回 PHP 文件的完整路径(绝对路径)与文件名:上述测试代码拷贝至 test.php 并访问该文件(http://127.0.0.1/php/test.php),得到如下结果:提示:在 windows 平台测试,得到结果如上所示可能会出现路径分隔符的细微差别。尽管 $_SERVER[‘SCRIPT_FILENAME’] 与 __FILE__ 非常相似,但在文件被include 或 require 包含的时候,二者还是有细微区别。将上述测试代码拷贝至D:xampphtdocsZZZZtesttest.php ,然后在刚才的 test.php 文件内包含 inc.php :这时候再访问 test.php 文件时,输出结果:可见二者的差别是:$_SERVER[‘SCRIPT_FILENAME’] 反映的是当前执行程序的绝对路径及文件名;__FILE__ 反映的是原始文件(被包含文件)的绝对路径及文件名。感谢各位的阅读,以上就是“php中$_SERVER[‘SCRIPT_NAME’]与$_SERVER[‘SCRIPT_FILENAME’]有什么不同”的内容了,经过本文的学习后,相信大家对php中$_SERVER[‘SCRIPT_NAME’]与$_SERVER[‘SCRIPT_FILENAME’]有什么不同这一问题有了更深刻的体会,具体使用情况还需要大家实践验证。这里是开发云,小编将为大家推送更多相关知识点的文章,欢迎关注!

相关推荐: LVM逻辑盘卷管理

LVM逻辑盘卷管理LVM是逻辑盘卷管理的简称,它是Linux环境下对磁盘分区进行管理的一种机制,LVM是建立在硬盘和分区之上的一个逻辑层,来提高磁盘分区管理的灵活性。它的机制就是将多个块设备连接为一个整块的卷组(volumegroup),形成一个存储池。然后,…

免责声明:本站发布的图片视频文字,以转载和分享为主,文章观点不代表本站立场,本站不承担相关法律责任;如果涉及侵权请联系邮箱:360163164@qq.com举报,并提供相关证据,经查实将立刻删除涉嫌侵权内容。

(0)
打赏 微信扫一扫 微信扫一扫
上一篇 08/16 12:14
下一篇 08/16 12:15

相关推荐