6.4.2 服务器变量$_SERVER和环境变量$_ENV

6.4.2 服务器变量$_SERVER和环境变量$_ENV

超全局数组(预定义变量)

 服务器变量:     $_SERVER
 环境变量:      $_ENV
 HTTP GET变量:    $_GET
 HHTP POST变量:   $_POST
 request变量:       $_REQUEST
 HTTP文件上传变量: $_FILES
 HTTP Cookies:  $_COOKIE
 Session变量:       $_SESSION
 Global变量:        $_GLOBALS

服务器变量: $_SERVER

$_SERVER是一个包含诸如头信息(header)、路径(path)和脚本位置(script locations)的数组。数组的实体由 web 服务器创建。不能保证所有的服务器都能产生所有的信息;服务器可能忽略了一些信息,或者产生了一些未在下面列出的新的信息。这是一个自动全局变量。这只不过意味这它在所有的脚本中都有效。在函数或方法中不需要使用

global $_SERVER;
–*PHP_SELF*:当前正在执行脚本的文件名 
–*DOCUMENT_ROOT*:当前运行脚本所在的文档根目录 
–*REMOTE_ADDR*:正在浏览当前页面用户的 IP 地址。

环境变量:$_ENV

在解析器运行时,这些变量从环境变量转变为 PHP 全局变量名称空间(namespace)。它们中的许多都是由 PHP 所运行的系统决定。完整的列表是不可能的。请查看系统的文档以确定其特定的环境变量。
这是一个自动全局变量。它在所有的脚本中都有效。在函数或方法中不需要使用 global $_ENV;

HTTP GET变量:$_GET

通过 HTTP GET 方法传递的变量组成的数组。是自动全局变量.
 http://localhost/login.php?name=zhangsan&id=100
    <?php
       echo “参数name的值:”.$_GET[“name”]; //zhangsan
       echo “参数id的值:”.$_GET[“id”];     //100
    ?>

HTTP POST变量:$_POST

通过 HTTP POST 方法传递的变量组成的数组。是自动全局变量。
与$_GET相似,只是方法不一样。

request变量:$_REQUEST

此关联数组包含 $_GET,$_POST 和 $_COOKIE 中的全部内容。

HTTP文件上传变量:$_FILES

通过 HTTP POST 方法传递的已上传文件项目组成的数组。是自动全局变量。

HTTP Cookies:$_COOKIE

通过 HTTP cookies 传递的变量组成的数组。是自动全局变量。

Session变量:$_SESSION

•包含当前脚本中 session 变量的数组。参阅 Session 函数文档以获得更多信息。 

Global变量:$GLOBALS

由所有已定义全局变量组成的数组。变量名就是该数组的索引。

例test.php

<?php
/*
 *  超全局数组(变量), 在PHP的脚本中, 已经声明完的变量, 你可以直接就去使用即可! 变量的名子已经规定好的了
 *
 *
 *  $_SERVER 
 *  $_ENV  
 *  $_GET
 *  $_POST
 *  $_REQUEST
 *  $_FILES
 *  $_COOKIE
 *  $_SESSION
 *  $GLOBALS
 *
 *
 *    超   全局   数组
 *
 *
 *    1. 数组(关联数组), 就和你自己声明的数组是一样的操作方式
 *    2. 全局
 *    3. 每个预定义的数组都有自独特的能力
 *
 */


    function getip() {
        
        if(!empty($_SERVER['HTTP_CLIENT_IP'])) {
            return $_SERVER['HTTP_CLIENT_IP'];
        } elseif(!empty($_SERVER['HTTP_X_FORWARDED_FOR'])) {
            return $_SERVER['HTTP_X_FORWARDED_FOR'];
        } else if(!empty($_SERVER['REMOTE_ADDR'])) {

            return $_SERVER['REMOTE_ADDR'];
        }else{
            return '未知IP';
        }
    }


    echo getip();

    echo '<br>';



    echo $_SERVER['HTTP_USER_AGENT'];


    echo '<br>';

    echo count($_SERVER);
    echo "<br>";
    echo '<pre>';
    print_r($_SERVER);
    echo '</pre>';
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • Spring Cloud为开发人员提供了快速构建分布式系统中一些常见模式的工具(例如配置管理,服务发现,断路器,智...
    卡卡罗2017阅读 135,009评论 19 139
  • php.ini设置,上传大文件: post_max_size = 128Mupload_max_filesize ...
    bycall阅读 6,843评论 3 64
  • PHP 为所有脚本提供了大量的预定义变量(predefined variables)。 这些变量包括了以下这些东西...
    咚门阅读 1,222评论 1 4
  • 一、php可以做什么 php是一种可以在服务器端运行的编程语言,可以运行在Web服务器端。 php是一门后台编程语...
    空谷悠阅读 3,163评论 4 97
  • 人的一生会有太多的不顺,而我现在就有太多的不顺,家庭,工作,我真的不知道该怎么面对,不知道该怎么继续下去……好累啊
    dreamFJ阅读 170评论 0 0