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. 记录一次学习mongodb的20个常用语句

    // 查询当前数据库 db // // 查看所有数据库 show dbs// 创建数据库 use db_name// 删除数据库 db.dropDatabase()// 创建集合 db.createC ...

  2. 小米节假日API, 查询调休

    小米的节假日API, 用于查询一年中的第X天是否正在放假或是在调休. 在浏览器中打开保存下来, 一年只需要调用一次即可. https://api.comm.miui.com/holiday/holid ...

  3. 个人团队兼职开发app(社交,语聊1v1,视频直播)

    如果您有意向创业,意向社交类产品,如语聊,及时通信,视频直播,1v1等,又苦无没有人力资源. 我们岁数都是30+,在互联网行业摸爬滚打十年有余. 后端,前端,客户端,运维,四个人. 我们共事很长一段时 ...

  4. Android系统源码的整编和单编

    # Android系统源码的整编和单编 文章作者: 刘望舒 文章链接: http://liuwangshu.cn/framework/aosp/3-compiling-aosp.html 前言 很多时 ...

  5. FFmpeg新旧接口对照使用一览

    背景 根据例程学习调用ffmpeg 库方法的时候,发现了一堆警告. main.cpp:81:37: warning: 'AVStream::codec' is deprecated [-Wdeprec ...

  6. 都是全志T113处理器,“-i”和“-S3”有什么区别?

    自9个月前,创龙科技"1片含税就79元"的全志T113-i双核ARM Cortex-A7@1.2GHz的工业核心板(SOM-TLT113)推出之后,不少嵌入式软硬件工程师.用户都咨 ...

  7. python 自动化神器 多平台纯代码RPA办公自动化python框架

    ​ Pyaibote是一款专注于纯代码RPA(机器人流程自动化)的强大工具,支持Android.Browser和Windows三大主流平台.无论您需要自动化安卓应用.浏览器操作还是Windows应用程 ...

  8. node.js (原生模板引擎模板)

    app01 // 引入http模块 const http = require('http'); //连接数据库 require('./model/connects'); // 创建网站服务器 cons ...

  9. Vscode连接虚拟机报错

    Vscode 连接虚拟机报错问题解决 问题解释 Permission denied, please try again.出现这个问题通常表示身份验证失败. 可能的原因有 SSH用户密码错误 SSH端口 ...

  10. VirtualBox中Ubuntu 22.04 Server支持kvm

    kvm简介 KVM 是 Kernel-based Virtual Machine 的缩写,是一种用于虚拟化的开源硬件虚拟化技术. 使用 Linux 内核的虚拟化模块,将物理服务器划分为多个虚拟机. K ...