6.4.2 服務(wù)器變量$_SERVER和環(huán)境變量$_ENV

6.4.2 服務(wù)器變量$_SERVER和環(huán)境變量$_ENV

超全局?jǐn)?shù)組(預(yù)定義變量)

 服務(wù)器變量:     $_SERVER
 環(huán)境變量:      $_ENV
 HTTP GET變量:    $_GET
 HHTP POST變量:   $_POST
 request變量:       $_REQUEST
 HTTP文件上傳變量: $_FILES
 HTTP Cookies:  $_COOKIE
 Session變量:       $_SESSION
 Global變量:        $_GLOBALS

服務(wù)器變量: $_SERVER

?$_SERVER是一個包含諸如頭信息(header)、路徑(path)和腳本位置(script locations)的數(shù)組。數(shù)組的實(shí)體由 web 服務(wù)器創(chuàng)建。不能保證所有的服務(wù)器都能產(chǎn)生所有的信息;服務(wù)器可能忽略了一些信息,或者產(chǎn)生了一些未在下面列出的新的信息。這是一個自動全局變量。這只不過意味這它在所有的腳本中都有效。在函數(shù)或方法中不需要使用

global $_SERVER;
–*PHP_SELF*:當(dāng)前正在執(zhí)行腳本的文件名 
–*DOCUMENT_ROOT*:當(dāng)前運(yùn)行腳本所在的文檔根目錄 
–*REMOTE_ADDR*:正在瀏覽當(dāng)前頁面用戶的 IP 地址。

環(huán)境變量:$_ENV

在解析器運(yùn)行時(shí),這些變量從環(huán)境變量轉(zhuǎn)變?yōu)?PHP 全局變量名稱空間(namespace)。它們中的許多都是由 PHP 所運(yùn)行的系統(tǒng)決定。完整的列表是不可能的。請查看系統(tǒng)的文檔以確定其特定的環(huán)境變量。
這是一個自動全局變量。它在所有的腳本中都有效。在函數(shù)或方法中不需要使用 global $_ENV;

HTTP GET變量:$_GET

通過 HTTP GET 方法傳遞的變量組成的數(shù)組。是自動全局變量.
 http://localhost/login.php?name=zhangsan&id=100
    <?php
       echo “參數(shù)name的值:”.$_GET[“name”]; //zhangsan
       echo “參數(shù)id的值:”.$_GET[“id”];     //100
    ?>

HTTP POST變量:$_POST

通過 HTTP POST 方法傳遞的變量組成的數(shù)組。是自動全局變量。
與$_GET相似,只是方法不一樣。

request變量:$_REQUEST

此關(guān)聯(lián)數(shù)組包含 $_GET,$_POST 和 $_COOKIE 中的全部內(nèi)容。

HTTP文件上傳變量:$_FILES

通過 HTTP POST 方法傳遞的已上傳文件項(xiàng)目組成的數(shù)組。是自動全局變量。

HTTP Cookies:$_COOKIE

通過 HTTP cookies 傳遞的變量組成的數(shù)組。是自動全局變量。

Session變量:$_SESSION

?包含當(dāng)前腳本中 session 變量的數(shù)組。參閱 Session 函數(shù)文檔以獲得更多信息。 

Global變量:$GLOBALS

由所有已定義全局變量組成的數(shù)組。變量名就是該數(shù)組的索引。

例test.php

<?php
/*
 *  超全局?jǐn)?shù)組(變量), 在PHP的腳本中, 已經(jīng)聲明完的變量, 你可以直接就去使用即可! 變量的名子已經(jīng)規(guī)定好的了
 *
 *
 *  $_SERVER 
 *  $_ENV  
 *  $_GET
 *  $_POST
 *  $_REQUEST
 *  $_FILES
 *  $_COOKIE
 *  $_SESSION
 *  $GLOBALS
 *
 *
 *    超   全局   數(shù)組
 *
 *
 *    1. 數(shù)組(關(guān)聯(lián)數(shù)組), 就和你自己聲明的數(shù)組是一樣的操作方式
 *    2. 全局
 *    3. 每個預(yù)定義的數(shù)組都有自獨(dú)特的能力
 *
 */


    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>';
最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

推薦閱讀更多精彩內(nèi)容

  • Spring Cloud為開發(fā)人員提供了快速構(gòu)建分布式系統(tǒng)中一些常見模式的工具(例如配置管理,服務(wù)發(fā)現(xiàn),斷路器,智...
    卡卡羅2017閱讀 134,914評論 18 139
  • php.ini設(shè)置,上傳大文件: post_max_size = 128Mupload_max_filesize ...
    bycall閱讀 6,829評論 3 64
  • PHP 為所有腳本提供了大量的預(yù)定義變量(predefined variables)。 這些變量包括了以下這些東西...
    咚門閱讀 1,211評論 1 4
  • 一、php可以做什么 php是一種可以在服務(wù)器端運(yùn)行的編程語言,可以運(yùn)行在Web服務(wù)器端。 php是一門后臺編程語...
    空谷悠閱讀 3,142評論 4 97
  • 人的一生會有太多的不順,而我現(xiàn)在就有太多的不順,家庭,工作,我真的不知道該怎么面對,不知道該怎么繼續(xù)下去……好累啊
    dreamFJ閱讀 169評論 0 0