PHP $_SERVER["QUERY_STRING"]、$_SERVER["REQUEST_URI"]、$_SERVER["SCRIPT_NAME"]和$_SERVER["PHP_SELF"]写的挺明细的
本文作者:林子木,wolinxuebin
转载请保留:http://blog.csdn.net/wolinxuebin
导读:本文分两部分,第一部分转自一篇文章,第二部分是作者在转了这篇文章1个半月工作之后的自己的理解
第一部分:转自互联网的文章
下文参考转自:http://bbs.php100.com/read-htm-tid-141258.html
$_SERVER存储当前服务器信息,其中有几个值如$_SERVER["QUERY_STRING"],$_SERVER["REQUEST_URI"],$_SERVER["SCRIPT_NAME"]和$_SERVER["PHP_SELF"]常常容易混淆,以下通过实例详解$_SERVER函数中QUERY_STRING,REQUEST_URI,SCRIPT_NAME和PHP_SELF变量区别,掌握这四者之间的关系,便于在实际应用中正确获取所需要的值,供参考。
1,$_SERVER["QUERY_STRING"]说明:查询(query)的字符串
2,$_SERVER["REQUEST_URI"]
说明:访问此页面所需的URI
3,$_SERVER["SCRIPT_NAME"]
说明:包含当前脚本的路径
4,$_SERVER["PHP_SELF"]
说明:当前正在执行脚本的文件名
实例:
1, http://www.biuuu.com/
结果:
$_SERVER["QUERY_STRING"] = ""
$_SERVER["REQUEST_URI"]
$_SERVER["SCRIPT_NAME"]
$_SERVER["PHP_SELF"]
2, http://www.biuuu.com/?p=222
结果:
$_SERVER["QUERY_STRING"] = "p=222"
$_SERVER["REQUEST_URI"]
$_SERVER["SCRIPT_NAME"]
$_SERVER["PHP_SELF"]
3, http://www.biuuu.com/index.php?p=222&q=biuuu
结果:
$_SERVER["QUERY_STRING"] = "p=222&q=biuuu"
$_SERVER["REQUEST_URI"]
$_SERVER["SCRIPT_NAME"]
$_SERVER["PHP_SELF"]
$_SERVER["QUERY_STRING"]获取查询语句,实例中可知,获取的是?后面的值
$_SERVER["REQUEST_URI"] 获取 http://www.biuuu.com 后面的值,包括/
$_SERVER["SCRIPT_NAME"] 获取当前脚本的路径,如:index.php
$_SERVER["PHP_SELF"] 当前正在执行脚本的文件名
总结一下,对于QUERY_STRING,REQUEST_URI,SCRIPT_NAME和PHP_SELF,深入了解将有利于我们在$_SERVER函数中正确调用这四个值。通过实例详解$_SERVER函数中QUERY_STRING,REQUEST_URI,SCRIPT_NAME和PHP_SELF掌握四个变量之间的区别。
第一部分:作者自我总结(如果看了上面的已经明白就不比想看)
关键字:QUERY_STRING、REQUEST_URI、SCRIPT_NAME、 PHP_SELF
1,QUERY_STRING
2,REQUEST_URI
3,SCRIPT_NAME
4,PHP_SELF
如果你在做项目,看到这段代码:
- if(!isset($_SERVER['REQUEST_URI']))
{ -
$_SERVER['REQUEST_URI'] = $_SERVER['PHP_SELF']; -
if(isset($_SERVER['QUERY_STRING'])) $_SERVER['REQUEST_URI'] .= '?'.$_SERVER['QUERY_STRING']; - }