php $_SERVER中,QUERY_STRING、REQUEST_URI、SCRIPT_NAME与PHP_SELF的区别

发布时间:2019-11-21编辑:脚本学堂
本文介绍下,php中的全局变量$_SERVER中,QUERY_STRING、REQUEST_URI、SCRIPT_NAME与PHP_SELF的区别,有需要的朋友参考下。

学习并理解以下几个php 全局变量的用法。

1,$_SERVER["QUERY_STRING"]
说明:查询(query)的字符串

2,$_SERVER["REQUEST_URI"]
说明:访问此页面所需的URI

3,$_SERVER["SCRIPT_NAME"]
说明:包含当前脚本的路径

4,$_SERVER["PHP_SELF"]
说明:当前正在执行脚本的文件名

实例:
1,http://www.jb200.com/ (直接打开主页)
结果:
 

$_SERVER["QUERY_STRING"] = ""
$_SERVER["REQUEST_URI"] = "/"
$_SERVER["SCRIPT_NAME"] = "/index.php"
$_SERVER["PHP_SELF"]     = "/index.php"

2,http://www. jb200.com/?p=222 (附带查询)
结果:
 

$_SERVER["QUERY_STRING"] = "p=222"
$_SERVER["REQUEST_URI"] = "/?p=222"
$_SERVER["SCRIPT_NAME"] = "/index.php"
$_SERVER["PHP_SELF"]     = "/index.php"

3,http://www. jb200.com/index.php?p=222&q=jbxue
结果:
 

$_SERVER["QUERY_STRING"] = "p=222&q=jbxue"
$_SERVER["REQUEST_URI"] = "/index.php?p=222&q= jbxue"
$_SERVER["SCRIPT_NAME"] = "/index.php"
$_SERVER["PHP_SELF"]     = "/index.php"

$_SERVER["QUERY_STRING"]获取查询语句,实例中可知,获取的是?后面的值
$_SERVER["REQUEST_URI"] 获取http://www.jbxue.com后面的值,包括/
$_SERVER["SCRIPT_NAME"] 获取当前脚本的路径,如:index.php
$_SERVER["PHP_SELF"] 当前正在执行脚本的文件名

当前url:"http://".$_SERVER['HTTP_HOST'].$_SERVER['PHP_SELF']

总结:对于QUERY_STRING,REQUEST_URI,SCRIPT_NAME和PHP_SELF,深入了解有利于在$_SERVER函数中正确调用这四个值。