zoukankan      html  css  js  c++  java
  • 认识PHP的全局变量

    1、$_SERVER

    说明:
    $_SERVER 是一个包含了诸如头信息(header)、路径(path)、以及脚本位置(script locations)等等信息的数组。这个数组中的项目由 Web 服务器创建。不能保证每个服务器都提供全部项目;服务器可能会忽略一些,或者提供一些没有在这里列举出来的项目。
    比如,请求一个web服务,打印出$_SERVER,这里打印的值依赖于实际的生产环境。

    如果以命令行方式运行 PHP,下面列出的元素几乎没有有效的(或是没有任何实际意义的)。

    具体每一项的说明详见:
    http://php.net/manual/zh/reserved.variables.server.php

    {
        "REDIRECT_STATUS": "200",
        "HTTP_HOST": "jasper.pdmp.qq.com",
        "HTTP_CONNECTION": "keep-alive",
        "CONTENT_LENGTH": "293",
        "HTTP_USER_AGENT": "Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/50.0.2661.94 Safari/537.36",
        "HTTP_CACHE_CONTROL": "no-cache",
        "HTTP_ORIGIN": "chrome-extension://fhbjgbiflinjbdggehcddcbncdddomop",
        "CONTENT_TYPE": "application/x-www-form-urlencoded",
        "HTTP_POSTMAN_TOKEN": "00b9b786-24c4-53a9-bde1-cd9323689e2e",
        "HTTP_AUTHTOKEN": "MTAwMCwxNTE0MjU5NTExLDgxYTRmN2U0MTA0ZDZjMTVjMTIwYzdkY2FmN2Q3MDgyNmY0N2MyNDg=",
        "HTTP_ACCEPT": "*/*",
        "HTTP_ACCEPT_ENCODING": "gzip, deflate",
        "HTTP_ACCEPT_LANGUAGE": "zh-CN,zh;q=0.8,en;q=0.6",
        "PATH": "/sbin:/usr/sbin:/bin:/usr/bin",
        "SERVER_SIGNATURE": "",
        "SERVER_SOFTWARE": "Apache",
        "SERVER_NAME": "jasper.pdmp.qq.com",
        "SERVER_ADDR": "10.12.236.126",
        "SERVER_PORT": "80",
        "REMOTE_ADDR": "10.25.166.72",
        "DOCUMENT_ROOT": "/data/web/websites/jaspersong/pdmp/public",
        "SERVER_ADMIN": "jaspersong@tencent.com",
        "SCRIPT_FILENAME": "/data/web/websites/jaspersong/pdmp/public/index.php",
        "REMOTE_PORT": "60362",
        "REDIRECT_URL": "/api/package/create",
        "GATEWAY_INTERFACE": "CGI/1.1",
        "SERVER_PROTOCOL": "HTTP/1.1",
        "REQUEST_METHOD": "POST",
        "QUERY_STRING": "",
        "REQUEST_URI": "/api/package/create",
        "SCRIPT_NAME": "/index.php",
        "PHP_SELF": "/index.php",
        "REQUEST_TIME_FLOAT": 1515063383.29,
        "REQUEST_TIME": 1515063383,
        "argv": [],
        "argc": 0
    }
    

    2、$_COOKIE

    说明:
    通过 HTTP Cookies 方式传递给当前脚本的变量的数组。

    {
        "pgv_pvi": "3323414528",
        "RK": "KT GMYpOPX",
        "tvfe_boss_uuid": "70334de4e8a247fc",
        "o_cookie": "986405231",
        "pgv_pvid": "9235049948",
        "XDEBUG_SESSION": "PHPSTORM",
        "pgv_si": "s5525579776",
        "PHPSESSID": "oiqkkigpd5mhtcj7jqrmjkdri7",
        "_qpsvr_localtk": "0.7368127632806414",
        "ptui_loginuin": "544726433",
        "pt2gguin": "o0986405231",
        "uin": "o0986405231",
        "skey": "@tw4l7mZaP",
        "ptisp": "ctc",
        "ptcz": "bb1b963605957d494a5fe55ec8558226ea14c0cbe73e3a33956a1f2901a3fbfd"
    }
    

    3、$_POST

    说明:
    HTTP POST 请求的 Content-Typeapplication/x-www-form-urlencoded multipart/form-data 时,会将变量以关联数组形式传入当前脚本。

    {"begin_date":"2017-08-22","end_date":"2018-01-03"}
    

    4、$_GET

    说明:
    通过 URL 参数传递给当前脚本的变量的数组。

    5、$_ENV

    说明:
    通过环境方式传递给当前脚本的变量的数组。

    这些变量被从 PHP 解析器的运行环境导入到 PHP 的全局命名空间。很多是由支持 PHP 运行的 Shell 提供的,并且不同的系统很可能运行着不同种类的 Shell,所以不可能有一份确定的列表。请查看你的 Shell 文档来获取定义的环境变量列表。

    其他环境变量包含了 CGI 变量,而不管 PHP 是以服务器模块还是 CGI 处理器的方式运行。

    6、$_FILES

    说明:
    通过 HTTP POST 方式上传到当前脚本的项目的数组。

    {
        "uploadinput": {
            "name": "jaspersong.zip",
            "type": "application/octet-stream",
            "tmp_name": "/data/tmp/phpkIgxKU",
            "error": 0,
            "size": 510
        }
    }
    

    7、$_REQUEST

    说明:
    默认情况下包含了 $_GET$_POST$_COOKIE 的数组。
    但是实际情况依赖于php.ini具体的配置。
    在某个web服务器上配置如下:

    request_order这个配置项说明哪些全局变量(G,P,C,E,S分别代表$_GET$_POST$COOKIE$_ENV$_SERVER)的内容会被添加到$_REQUEST数组中,并且会指明变量填充的顺序,如果重名,那么后面填充的变量会覆盖前面填充的变量内容。如果把request_order置空,那么PHP将会使用variables_order(如下)配置项所指定的全局变量注册顺序来填充$_REQUEST数组,
    而不是说把$_REQUEST置空。

    variables_order这个配置项用来指定全局变量EGPCS (Environment, Get, Post, Cookie, and Server)的解析顺序。 如果variables_order被设置为SP,那么PHP会创建$_SERVER$_POST,而不会创建$_ENV$_GET$_COOKIE等变量, 如果被设置为空,那么PHP不会创建任何超级全局变量。

    注意:
    有时候从$_REQUEST中取出的值不是想要的,考虑这样一个场景: 如果在php.ini中设置request_order = “GPCES”,在HTTP请求中GET或者POST参数的name恰好与COOKIE的name相同,假如为foo。 那么在程序中通过$_REQUEST[‘foo’]来获取到的值是名为foo的一个cookie的值,而不是GET或者POST请求的值。

    {
        "files_name": "jaspersong.zip",
        "files_num": "1",
        "total_size": "510",
        "type": "0",
        "file_merge": "1",
        "source_type_encrypted": "0",
        "timestamp": "1515065113971",
        "data_source": "欧莱雅",
        "marketing_type": "1",
        "brand": "欧莱雅",
        "product_name": "dfd13",
        "description": "dfdfd",
        "data_type": "1",
        "auth": "1"
    }
    

    8、$_SESSION

    说明:
    当前脚本可用 SESSION 变量的数组。
    PHP session 变量用于存储有关用户会话的信息,或更改用户会话的设置。Session 变量保存的信息是单一用户的,并且可供应用程序中的所有页面使用。
    学习资料:
    http://www.w3school.com.cn/php/php_sessions.asp

  • 相关阅读:
    JavaScript自定义事件
    用Java构建一个简单的WebSocket聊天室
    PHP实现支付宝小程序用户授权的工具类
    jq ajax超时设置
    gulp使用笔记
    vue学习—组件的定义注册
    echarts设置线条粗细
    求js数组的最大值和最小值
    js删除数组中的 "NaN"
    jq方法(end)
  • 原文地址:https://www.cnblogs.com/jaspersong/p/8195525.html
Copyright © 2011-2022 走看看