PHP中$_SERVER函数的PHP地址url参数

详解PHP中$_SERVER函数的QUERY_STRING和

  $_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.xxx.com/ (直接打开主页)

  结果:

  $_SERVER["QUERY_STRING"] = “”

  $_SERVER["REQUEST_URI"] = “/”

  $_SERVER["SCRIPT_NAME"] = “/index.php”

  $_SERVER["PHP_SELF"] = “/index.php”

  2,http://www.xxx.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.xxx.com/index.php?p=222&q=u

  结果:

  $_SERVER["QUERY_STRING"] = “p=222&q=u”

  $_SERVER["REQUEST_URI"] = “/index.php?p=222&q=u”

  $_SERVER["SCRIPT_NAME"] = “/index.php”

  $_SERVER["PHP_SELF"] = “/index.php”

  $_SERVER["QUERY_STRING"]获取查询语句,实例中可知,获取的是?后面的值

  $_SERVER["REQUEST_URI"] 获取http://www.xxx.com后面的值,包括/

  $_SERVER["SCRIPT_NAME"] 获取当前脚本的路径,如:index.php

  $_SERVER["PHP_SELF"] 当前正在执行脚本的文件名

 

//获取域名或主机地址
echo $_SERVER['HTTP_HOST']."<br>"; #localhost
  
//获取网页地址
echo $_SERVER['PHP_SELF']."<br>"; #/blog/testurl.php
  
//获取网址参数
echo $_SERVER["QUERY_STRING"]."<br>"; #id=5
  
//获取用户代理
echo $_SERVER['HTTP_REFERER']."<br>";
  
//获取完整的url
echo 'http://'.$_SERVER['HTTP_HOST'].$_SERVER['REQUEST_URI'];
echo 'http://'.$_SERVER['HTTP_HOST'].$_SERVER['PHP_SELF'].'?'.$_SERVER['QUERY_STRING'];
#http://localhost/blog/testurl.php?id=5
  
//包含端口号的完整url
echo 'http://'.$_SERVER['SERVER_NAME'].':'.$_SERVER["SERVER_PORT"].$_SERVER["REQUEST_URI"];
#http://localhost:80/blog/testurl.php?id=5
  
//只取路径
$url='http://'.$_SERVER['SERVER_NAME'].$_SERVER["REQUEST_URI"];
echo dirname($url);
#http://localhost/blog

 

 

 

 

 

 

  总结一下,对于QUERY_STRING,REQUEST_URI,SCRIPT_NAME和PHP_SELF,深入了解 将有利于我们在$_SERVER函数中正确调用这四个值。通过实例详解$_SERVER函数中 QUERY_STRING,REQUEST_URI,SCRIPT_NAME和PHP_SELF掌握四个变量之间的区别。

posted @ 2022-06-18 09:11  青茶360  阅读(153)  评论(0编辑  收藏  举报