PHP中的超級全局變量

PHP內置了一些超級全局變量,咱們能夠在腳本的任何地方使用和可見,下面記錄一下這些全局變量的做用:

一、$_SERVERphp

        $_SERVER超級全局變量包含由web服務器建立的信息,它提供了服務器和客戶配置及當前請求環境的有關信息。根據服務器不一樣,$_SERVER中的變量值和變量個數會有差異,不過通常均可以找到CGI1.1規範中定義的變量。其中包括:html

        $_SERVER[ 'HTTP_REFERER' ] ; 引導用戶到達當前位置的頁面的URL ;web

        $_SERVER[ 'REMOTE_ADDR‘ ] ; 客戶IP地址 ;shell

        $_SERVER[ ’REQUEST_URI‘ ] ; URL的路徑部分。若是URL是 [url]http://www.example.com/blog/apache/index.html[/url] ,那麼URI就是/blog/apache/index.html 。apache

        $_SERVER[ 'HTTP_USER_AGENT' ] ; 客戶的用戶代理,通常會提供操做系統和瀏覽器的有關信息。數組

 

二、$_GET瀏覽器

        $_GET超級全局變量包含使用GET方法傳遞的參數的有關信息。若是請求URL爲[url]http://www.example.com/index.html?cat=apache&id=157[/url], 就可使用$_GET超級全局變量訪問以下變量:安全

        $_GET[ 'cat' ] = "apache" ;服務器

        $_GET[ 'id' ]   = "157" ;cookie

        默認狀況下,要訪問通GET方法傳遞的變量,$_GET超級全局變量是惟一的途徑。

 

三、$_POST

        $_POST超級全局變量包含用POST方法傳遞的參數的有關信息。

      <form caction="subscribe.php" method = "post">

            <p>

                  Email address : <br>

                  <input type="text" name="email" size="20" maxlength="so" value="">

            </p>

           <p>

                  Password : <br>

                  <input type="password" name="pswd" size="20" maxlength="15" value="">

            </p>

            <p>

                  <input type="submit" name="subscribe" value="subscribe!">

             </p>

       </form>

        經過腳本subscribe.php,就可使用下面的POST變量:

         $_POST[ 'email' ] = " jason@example.com " ;

         $_POST[ 'pswd' ] = "rainyday" ;

         $_POST[ 'subscribe' ] = "subscribe!" ;

         與$_GET同樣,在默認狀況下,$_POST超級全局變量是訪問POST變量的惟一途徑。

 

四、$_COOKIE

        $_COOKIE超級全局變量存儲了經過HTTP cookie傳遞到腳本的信息。這些cookie通常是由之前執行的PHP腳本經過PHP函數setcookie ( ) 設置的。例如,假設使用 setcookie ( )存儲了一個名爲 example.com、值爲ab2213的cookie。之後就能夠經過調用$_COOKIE[ ' example.com' ]來得到這個值。

       

五、$_FILES

        $_FILES超級全局變量包含經過POST方法向服務器上傳的數據的有關信息。這個超級全局變量與其餘的變量有所不一樣,它是一個二維數組,包含5個元素。第一個下標標示表單的文件上傳元素名;第二個下標是五個預約義下標之一,這些下標描述了上傳文件的某個屬性:

        △  $_FILES[ 'upload-name' ][ 'name' ]; 從客戶端向服務器上傳文件的文件名;

        △  $_FILES[ 'upload-name' ][ 'type' ]; 上傳文件的MIME類型,這個變量是否賦值取決於瀏覽器的功能。

        △  $_FILES[ 'upload-name' ][ 'size' ];  上傳文件的大小(以字節爲單位);

        △  $_FILES[ 'upload-name' ][ 'tmp_name' ]; 上傳以後,將此文件移到最終位置以前賦予的臨時名。

        △  $_FILES[ 'upload-name' ][ 'error' ]; 上傳狀態碼。儘管這個變量的名爲 error ,但實際上在成功的狀況下也會填寫這個變量。它有五個可能的值:

              ■  UPLOAD_ERR_OK   文件成功上傳

              ■  UPLOAD_ERR_INI_SIZE  文件大小超出了 upload_max_filesize 指令所指定的最大值。

              ■  UPLOAD_ERR_FORM_SIZE  文件大小超出了MAX_FILE_SIZE 隱藏表單域參數(可選)指定的最大值。

              ■  UPLOAD_ERR_PARTIAL  文件只上傳了一部分

              ■  UPLOAD_ERR_NO_FILE  上傳表單中沒有指定文件

 

六、$_ENV

        $_ENV超級全局變量提供PHP解析所在服務器環境的有關信息。此數組中的變量包括:

            △  $_ENV[ 'HOSTNAME' ]  服務器的主機名

            △  $_ENV[ 'SHELL' ]  系統 shell

 

七、$_REQUEST

        $_REQUEST超級全局變量是一個全能選手,它記錄了經過各類方法傳遞給腳本的變量,特別是GET ,POST 和 COOKIE 。 這些變量的順序不依賴於它們在發送腳本中出現的順序,而是依賴於 variables_order 配置指令所指定的順序。建議少用這個超級變量,由於它不夠安全。

 

八、$_SESSION

        $_SESSION 超級全局變量包含與全部會話有關的信息。註冊會話信息能爲你提供便利,這樣就能在整個網站中引用這些會話信息,而無需經過GET或POST顯示的傳遞數據。

 

九、$GLOBALS

        $GLOBALS 超級全局變量數組能夠認爲是超級全局變量的超集,包含全局做用域內的全部變量。執行下面的代碼能夠查看$GLOBALS 中全部的變量。

        print ' <pre>' ;

        print_r ($GLOBALS);

        print ' </pre>' ;

相關文章
相關標籤/搜索