`
ceco
  • 浏览: 5963 次
  • 性别: Icon_minigender_1
  • 来自: 茂名
最近访客 更多访客>>
社区版块
存档分类
最新评论

[转]$_SERVER中QUERY_STRING和REQUEST_URI等四个变量区别

    博客分类:
  • PHP
阅读更多
$_SERVER存储当前服务器信息,其中有几个值如$_SERVER["QUERY_STRING"],$_SERVER["REQUEST_URI"],$_SERVER["SCRIPT_NAME"] 和$_SERVER["PHP_SELF"]常常容易混淆,以下通过实例详解$_SERVER函数中 QUERY_STRING,REQUEST_URI,SCRIPT_NAME和PHP_SELF变量区别,掌握这四者之间的关系,便于在实际应用中正确获取所需要的值,供参考。

php_logo

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"]  = “/index.php”
$_SERVER["PHP_SELF"]     = “/index.php”

2,http://www.biuuu.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.biuuu.com/index.php?p=222&q=biuuu
结果:
$_SERVER["QUERY_STRING"] = “p=222&q=biuuu”
$_SERVER["REQUEST_URI"]  = “/index.php?p=222&q=biuuu”
$_SERVER["SCRIPT_NAME"]  = “/index.php”
$_SERVER["PHP_SELF"]     = “/index.php”

$_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掌握四个变量之间的区别。
分享到:
评论

相关推荐

    php中$_SERVER用法

    $_SERVER['QUERY_STRING']-URL中第一个问号之后的所有内容 action=du&id=9 $_SERVER['REQUEST_URI'];--这里是i而不是L /w/z/test.php?action=du&id=9 返回URL,也就是除域名外后面的完整的url地址路径,当然包含...

    PHP获取当前url路径的函数及服务器变量QUERY_STRING、REQUEST_URI

    PHP获取当前url路径的函数及服务器变量:QUERY_STRING、REQUEST_URI、SCRIPT_NAME、PHP_SELF

    php $_SERVER[REQUEST_URI]获取值的通用解决方法

    php // 说明:获取 _SERVER[‘REQUEST_URI’] 值的通用解决方案 function request_uri() { if (isset($_SERVER[‘REQUEST_URI’])) { $uri = $_SERVER[‘REQUEST_URI’]; } else { if (isset($_SERVER[‘argv’])) {...

    从PHP $_SERVER相关参数判断是否支持Rewrite模块

    如果是//www.jb51.net/p1141.html形式的URL,可通过$_SERVER[‘REQUEST_URI’]和$_SERVER[‘QUERY_STRING’]值的区别来分析,最主要是如果页面是通过重定向会产生$_SERVER[‘REDIRECT_QUERY_STRING’]和$_SERVER[...

    PHP $_SERVER详解

    $_SERVER[‘REMOTE_HOST’] //当前用户主机名 $_SERVER[‘REQUEST_URI’] //URL$_SERVER[‘REMOTE_PORT’] //端口。 $_SERVER[‘SERVER_NAME’] //服务器主机的名称。 $_SERVER[‘PHP_SELF’]//正在执行脚本的...

    php $_SERVER["REQUEST_URI"]获取值的通用解决方法

    在 PHP 众多预定义服务器变量中,$_SERVER["REQUEST_URI"] 算是经常用到的,但是这个变量只有 apache 才支持,因此,我们需要一个更加通用的方式来获取 REQUEST_URI 的值,本文就是结束这一问题的解决方案。

    PHP 采集程序 常用函数

    empty($_SERVER[“REQUEST_URI”])){ $scriptName = $_SERVER[“REQUEST_URI”]; $nowurl = $scriptName; }else{ $scriptName = $_SERVER[“PHP_SELF”]; if(empty($_SERVER[“QUERY_STRING”])) $nowurl = $script...

    PHP URL地址获取函数代码(端口等) 推荐

    empty($_SERVER[“REQUEST_URI”])) { $scrtName = $_SERVER[“REQUEST_URI”]; $nowurl = $scrtName; } else { $scrtName = $_SERVER[“PHP_SELF”]; if(empty($_SERVER[“QUERY_STRING”])) { $nowurl = $scrtName...

    PHP获取当前url的具体方法全面解析

    $url_this = “‘http://’.$_SERVER[‘SERVER_NAME’].’:’.$_SERVER[“SERVER_PORT”].$_SERVER[“REQUEST_URI”];; echo $url_this; 则显示 :http://localhost/drupaluser/index.php 服务器变量:$_SERVER 注: ...

    PHP 采集程序中常用的函数

    empty($_SERVER[”REQUEST_URI”])) { $scriptName = $_SERVER[”REQUEST_URI”]; $nowurl = $scriptName; } else { $scriptName = $_SERVER[”PHP_SELF”]; if(empty($_SERVER[”QUERY_STRING”])) $nowurl = $...

    DX1.5 手机正式版

    $_SERVER['QUERY_STRING'] = $query_string; unset($param, $paramc, $query_string); } //如果没有开启自动转义 则将GPCF自动转义 if(!MAGIC_QUOTES_GPC) { $_GET = daddslashes($_GET); $_POST = daddslashes($_...

    总结PHP如何获取当前主机、域名、网址、路径、端口和参数等

    echo $_SERVER["QUERY_STRING"]." "; //获取用户代理 echo $_SERVER['HTTP_REFERER']." "; //获取完整的url echo 'http://'.$_SERVER['HTTP_HOST'].$_SERVER['REQUEST_URI']; echo 'http://'.$_SERV

    php获取当前网址url并替换参数或网址的方法

    empty($_SERVER[“REQUEST_URI”])) { $scriptName = $_SERVER[“REQUEST_URI”]; $nowurl = $scriptName; } else { $scriptName = $_SERVER[“PHP_SELF”]; if(empty($_SERVER[“QUERY_STRING”])) { $nowurl = $...

    PHP预定义变量9大超全局数组用法详解

    根据服务器不同,$_SERVER中的变量值和变量个数会有差别,不过一般都可以找到CGI1.1规范中定义的变量。其中包括: $_SERVER[‘HTTP_REFERER’]; 引导用户到达当前位置的页面的URL ; $_SERVER[‘REMOTE_ADDR’]; ...

    PHP_SELF,SCRIPT_NAME,REQUEST_URI区别

    $_SERVER[PHP_SELF], $_SERVER[SCRIPT_NAME], $_SERVER[‘REQUEST_URI’] 在用法上是非常相似的,他们返回的都是与当前正在使用的页面地址有关的信息,这里列出一些相关的例子,帮助确定哪些是在你的脚本最适合的。...

    PHP获取当前URL路径的处理方法(适用于多条件筛选列表)

    * $_SERVER["QUERY_STRING"] 查询(query)的字符串 * $_SERVER["REQUEST_URI"] 访问此页面所需的URI * $_SERVER["SCRIPT_NAME"] 包含当前脚本的路径 * $_SERVER["PHP_SELF"] 当前正在执行脚本的文件名 * 适用于...

    nginx 开启 pathinfo的过程详解

    apache往nginx去转,代码端用到了$_SERVER[‘PATH_INFO’],对于nginx默认是不开启pathinfo的。所以我们就要手动开启 1,url重写 location / { //方法1 if (!-e $request_filename) { rewrite ^/(.*)$ /index....

    php getsiteurl()函数

    if(empty($_SCONFIG[‘siteallurl’])) { $uri = $_SERVER[‘REQUEST_URI’]?$_SERVER[‘REQUEST_URI’]:($_SERVER[‘PHP_SELF’]?$_SERVER[‘PHP_SELF’]:$_SERVER[‘SCRIPT_NAME’]); return shtmlspecialchars...

    IIS6.0下WordPress 去掉 index.php 和 category 的方法小结

    WordPress 版本:3.3.1 一....1. 编写404.php 文件,上传保存到博客根目录(和wordpress 的 index.php 在同一个目录)。... $_SERVER[‘REQUEST_URI’] = substr($qs, $pos); $_SERVER[‘PATH_INFO’] = $_SERVER[‘REQUES

    php获得当前的脚本网址

    //获得当前的脚本网址 function GetCurUrl(){  if(!empty($_SERVER[“REQUEST_URI”])){  $scriptName = $_SERVER[... if(empty($_SERVER[“QUERY_STRING”])) $nowurl = $scriptName;  else $now

Global site tag (gtag.js) - Google Analytics