php $_SERVER[‘QUERY_STRING‘]函数

• 简介$_SERVER函数( 获取当前服务器信息)

预定义变量就是系统自己定义好的变量,直接使用就可以。预定义变量都是以数组的形式存在的(也就是说我们根据 [ ] 中的不同参数,选择我们要的到的信息)。PHP的预定义有很多种,包括我们的get,post等等,都是php的预定义变量。

$_SERVER是 预定义变量之一 ,一个包含头信息、路径、脚本位置等信息的数组。该数组的元素由Web服务器创建。

 

做题过程中遇到的四个变量的区分进行一个简单的介绍:

1. $_SERVER["QUERY_STRING"]    #查询(query)的字符串     
2.$_SERVER["REQUEST_URI"]       #访问此页面所需的URI
3.$_SERVER["SCRIPT_NAME"]       #包含当前脚本的路径           
4.$_SERVER["PHP_SELF"]。          #当前执行的叫脚本的文件名
 

•示例:

1,http://www.boke.com/

  结果:

  $_SERVER["QUERY_STRING"] = “”

  $_SERVER["REQUEST_URI"] = “/”

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

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

 2,http://www.boke.com/scr.php/?a=bbb(附带查询)

  结果:

  $_SERVER["QUERY_STRING"] = “a=bbb″

  $_SERVER["REQUEST_URI"] = “/?a=bbb″

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

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

  3,http://www.boke.com/scr.php/?x=111&y=222

$_SERVER["QUERY_STRING"] = “x=111&y=222”

  $_SERVER["REQUEST_URI"] = “/scr.php/?x=111&y=222”

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

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

•总结:

  $_SERVER["QUERY_STRING"]获取查询语句,获取的是?后面的值

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

  $_SERVER["SCRIPT_NAME"] 获取当前脚本的路径,如:/src.php (如果网址是http://www.boke.com/aaa/src.php ,最后检索的内容就是 /aaa/src.php)

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

 
 
下面是$_SERVER的数组信息表
 
数组元素 说明
$_SERVER['PHP_SELF'] 当前执行脚本的文件名,与 document root 有关。例如,在地址为 http://c.biancheng.net/test.php/foo.bar 的脚本中使用 $_SERVER['PHP_SELF'] 将得到 /test.php/foo.bar
$_SERVER['SERVER_ADDR'] 当前运行脚本所在服务器的 IP 地址
$_SERVER['SERVER_NAME'] 当前运行脚本所在服务器的主机名。如果脚本运行于虚拟主机中,该名称就由那个虚拟主机所设置的值决定
$_SERVER['SERVER_PROTOCOL'] 请求页面时通信协议的名称和版本。例如,“HTTP/1.0”
$_SERVER['REQUEST_METHOD'] 访问页面使用的请求方法。例如“GET”“HEAD”“POST”“PUT”
$_SERVER['DOCUMENT_ROOT'] 当前运行脚本所在的文档根目录。在服务器配置文件中定义
$_SERVER['HTTP_ACCEPT_LANGUAGE'] 当前请求头中 Accept-Language: 项的内容(如果存在)。例如,“en”
$_SERVER['REMOVE_ADDR'] 浏览当前页面的用户 IP 地址(客户端ip),注意与 $_SERVE R['SERVER_ADDR'] 的区别
$_SERVER['SCRIPT_FILENAME'] 当前执行脚本的绝对路径
$_SERVER['SCRIPT_NAME'] 包含当前脚本的路径
$_SERVER['QUERY_STRING']  查询(query)的字符串。
$_SERVER['PATH_INFO'] 包含由客户端提供的、跟在真实脚本名称之后并且在查询语句(query string)之前的路径信息(如果存在)。例如,当前脚本是通过 URL http://c.biancheng.net/php/path_info.php/some/stuff?foo=bar 被访问的,那么 $_SERVER['PATH_INFO'] 将包含 /some/stuff
 $_SERVES[HTTP_X_FORWARDED_FOR]  在PHP 中使用 $_SERVER["REMOTE_ADDR"] 来取得客户端的 IP地址,但如果客户端是使用代理服务器来访问,那取到的就是代理服务器的 IP 地址,而不是真正的客户端 IP 地址。

要想透过代理服务器取得客户端的真实 IP 地址,就要使用$_SER VER["HTTP_X_FORWARDED_FOR"]  来读取。

php预定义变量~$_SERVER[‘QUERY_STRING‘]的更多相关文章

  1. php预定义常量$_SERVER

    1.需求 了解预定义常量$_SERVER 2.属性 $_SERVER['REQUEST_URI'] //URI 用来指定要访问的页面.例如 "/index.html" $_SERV ...

  2. PHP预定义变量$_SERVER

    PHP预定义变量$_SERVER $_SERVER 是一个包含诸如头部(headers).路径(paths)和脚本位置(script locations)的数组.数组的实体由 web 服务器创建,不能 ...

  3. linux中位置参数变量和预定义变量

    位置参数变量   预定义变量

  4. 6)PHP,预定义变量

    预定义变量也叫超全局变量: :预定义变量又叫超全局变量,包括: $_GET, $_POST, $_SERVER, $_REQUEST, $GLOBALS, $_COOKIE, $_SESSION, . ...

  5. 深入理解PHP内核(八)变量及数据类型-预定义变量

    原文链接:http://www.orlion.ga/249/ PHP脚本在执行的时候用户全局变量(在用户空间显示定义的变量)会保存在一个HashTable数据类型的符号表中(symbol_table) ...

  6. nginx内置预定义变量

    nginx的配置文件中可以使用的内置变量以美元符$开始,也有人叫全局变量.其中,部分预定义的变量的值是可以改变的. $arg_PARAMETER 这个变量值为:GET请求中变量名PARAMETER参数 ...

  7. PHP预定义变量

    * PHP预定义 * 预定义变量 * $_GET - 接收客户端以请求类型为GET方法发送的数据内容 * $_POST - 接收客户端以请求类型为POST方法发送的数据内容 * $_REQUEST - ...

  8. [Shell]Bash变量:自定义变量 & 环境变量 & 位置参数变量 & 预定义变量

    --------------------------------------------------------------------------------- 变量是计算机内存的单元,其中存放的值 ...

  9. $_ENV和$GLOBALS预定义变量

    1,$_ENV该全局数组可以获取环境变量,在php5.3中默认禁用,但是可以在php.ini中启用. variables_order="EGPCS" 2,$GLOBALS一个包含了 ...

  10. make的自动变量和预定义变量

    make的自动变量 $@ 规则目标的文件名.如果目标是档案文件的一个成员,"$@"就是档案文件的名称 $% 当目标是档案文件的一个成员时,"$%"是该成员的名称 ...

随机推荐

  1. Sql Server中Cross Apply关键字的使用

    Sql Server中Cross Apply关键字的使用 前言 在写一个业务的时候,有1列数据如下: 车牌号 湘A00001/湘G00001 湘A00002/湘G00002 湘A00003/湘G000 ...

  2. C#/.NET这些实用的技巧和知识点你都知道吗?

    前言 今天大姚给大家分享一些C#/.NET中的实用的技巧和知识点,它们可以帮助我们提升代码质量和编程效率,希望可以帮助到有需要的同学. .NET使用CsvHelper快速读取和写入CSV文件 本文主要 ...

  3. 国产芯片!EtherCAT主站和瑞芯微RK3568融合,引领智能化升级!

    转载自:北京盟通科技 盟通成果 随着工业智能化的迅猛推进,国产芯片作为我国自主创新的重要成果,正逐渐崭露头角.在实现工业智能化的过程中,EtherCAT主站技术的应用也愈发重要.盟通此次将瑞芯微国产开 ...

  4. Spring的三种依赖注入的方式

    1.什么是依赖注入 依赖注入(Dependency Injection,简称DI),是IOC的一种别称,用来减少对象间的依赖关系. 提起依赖注入,就少不了IOC. IOC(Inversion of C ...

  5. vulnhub - LAMPSECURITY: CTF5

    vulnhub - LAMPSECURITY: CTF5 信息收集 端口扫描 nmap -sT --min-rate 10000 -p- 192.168.157.164 详细扫描 sudo nmap ...

  6. 洛谷P1020

    又是一道做的很麻的题,准确来说感觉这不是一道很好的dfs题,没有体现dfs的一些特点 反而感觉是在考察dp,刚开始也是按照我的思路交了3次都没过 原本以为所选的数应该都是由上一次的最大值推出来的,后面 ...

  7. iOS开发基础99-内购in_app

    今天后台支付校验模块报错,拿到凭证去苹果校验返回的结果如下: { "receipt": { "receipt_type": "Production&q ...

  8. [oeasy]python001_先跑起来_python_三大系统选择_windows_mac_linux

    先跑起来 Python 什么是 Python? Python [ˈpaɪθɑ:n] 是 一门 适合初学者 的编程语言       添加图片注释,不超过 140 字(可选)   类库 众多 几行代码 就 ...

  9. vue 拖拉改变盒子高度(mousedown、mousemove、mouseup)流畅不卡顿

    需求:上下两个盒子之间添加可拖拽按钮,实现高度变化 html: <textarea :id="'mycode'+(index*1+1)" :ref="'mycode ...

  10. selenium获取验证码截图

    获取验证码截图代码: 获取验证码代码: #!/user/bin/env python3 # -*- coding: utf-8 -*- import requests from selenium im ...