重要的PHP超級全域變數總結

來源:互聯網
上載者:User

重要的PHP超級全域變數總結

2008-07-14 16:53:03 標籤:全域變數

   [推送到技術圈
]

        PHP有9個預定義變數數組,分別總結如下: 1、$_SERVER       
$_SERVER超級全域變數包含由web伺服器建立的資訊,它提供了伺服器和客戶配置及當前請求環境的有關資訊。根據伺服器不同,$_SERVER中的
變數值和變數個數會有差別,不過一般都可以找到CGI1.1規範中定義的變數。其中包括:        $_SERVER[ 'HTTP_REFERER' ] ; 引導使用者到達當前位置的頁面的URL ;         $_SERVER[ 'REMOTE_ADDR‘ ] ; 客戶IP地址 ;        $_SERVER[ ’REQUEST_URI‘ ] ; URL的路徑部分。如果URL是 [url]http://www.example.com/blog/apache/index.html[/url]
,那麼URI就是/blog/apache/index.html 。        $_SERVER[ 'HTTP_USER_AGENT' ] ; 客戶的使用者代理程式,一般會提供作業系統和瀏覽器的有關資訊。 2、$_GET        $_GET超級全域變數包含使用GET方法傳遞的參數的有關資訊。如果請求URL為[url]http://www.example.com/index.html?cat=apache&id=157[/url]

就可以使用$_GET超級全域變數訪問如下變數:        $_GET[ 'cat' ] = "apache" ;         $_GET[ 'id' ]   = "157" ;        預設情況下,要訪問通GET方法傳遞的變數,$_GET超級全域變數是唯一的途徑。 3、$_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變數的唯一途徑。 4、$_COOKIE        $_COOKIE超級全域變數儲存了通過HTTP
cookie傳遞到指令碼的資訊。這些cookie一般是由以前執行的PHP指令碼通過PHP函數setcookie ( ) 設定的。例如,假設使用
setcookie ( )儲存了一個名為 example.com、值為ab2213的cookie。以後就可以通過調用$_COOKIE[ '
example.com' ]來獲得這個值。        5、$_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  上傳表單中沒有指定檔案 6、$_ENV        $_ENV超級全域變數提供PHP解析所在伺服器環境的有關資訊。此數組中的變數包括:            △
  $_ENV[ 'HOSTNAME' ]  伺服器的主機名稱            △
  $_ENV[ 'SHELL' ]  系統 shell  7、$_REQUEST        $_REQUEST超級全域變數是一個全能選手,它記錄了通過各種方法傳遞給指令碼的變數,特別是GET ,POST 和
COOKIE 。 這些變數的順序不依賴於它們在發送指令碼中出現的順序,而是依賴於 variables_order 配置指令所指定的順序。 建議少用這個超級變數,因為它不夠安全。

 8、$_SESSION        $_SESSION
超級全域變數包含與所有會話有關的資訊。註冊會話資訊能為你提供便利,這樣就能在整個網站中引用這些會話資訊,而無需通過GET或POST顯示的傳遞數
據。 9、$GLOBALS        $GLOBALS
超級全域變數數組可以認為是超級全域變數的超集,包含全域範圍內的所有變數。執行下面的代碼可以查看$GLOBALS 中所有的變數。        print ' <pre>' ;        print_r ($GLOBALS);        print ' </pre>' ;

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.