PHP預約義變量9大超全局數組用法php
一、$_SERVER
$SERVER超級全局變量包含由web服務器建立的信息,它提供了服務器和客戶配置及當前請求環境的有關信息。根據服務器不一樣,$SERVER中的變量值和變量個數會有差異,不過通常均可以找到CGI1.1規範中定義的變量。其中包括:
$_SERVER['HTTP_REFERER']; 引導用戶到達當前位置的頁面的URL ;
$_SERVER['REMOTE_ADDR']; 客戶IP地址 ;
$_SERVER['REQUEST_URI']; URL的路徑部分。若是URL是 http://www.example.com/blog/a... ,那麼URI就是/blog/apache/index.html 。
$_SERVER['HTTP_USER_AGENT']; 客戶的用戶代理,通常會提供操做系統和瀏覽器的有關信息。html
二、$_GET
$GET 超級全局變量包含使用GET方法傳遞的參數的有關信息。若是請求URL爲[url=http://www.example.com]http://www.example.com /index.html?cat=apache&id=157[/url], 就可使用$_GET超級全局變量訪問以下變量:
$_GET['cat'] = "apache";
$_GET['id'] = "157";
默認狀況下,要訪問通GET方法傳遞的變量,$_GET超級全局變量是惟一的途徑。web
三、$_POST
$_POST超級全局變量包含用POST方法傳遞的參數的有關信息。
[HTML] 純文本查看 複製代碼
?shell
<form caction="subscribe.php" method="post">
<p> Email address :
apache
<input type="text" name="email" size="20" value="zhangsan@itcast.cn">
</p>
<p> Password :
數組
<input type="password" name="pswd" size="20" value="123456">
</p>
<p>瀏覽器
<input type="submit" name="subscribe" value="subscribe!">
</p>
</form>安全
經過腳本subscribe.php,就可使用下面的POST變量:
$_POST['email'] = "zhangsan@itcast.cn";
$_POST['pswd'] = "123456";
$_POST['subscribe'] = "subscribe!";
與$GET同樣,在默認狀況下,$POST超級全局變量是訪問POST變量的惟一途徑。服務器
四、$_COOKIE
$COOKIE 超級全局變量存儲了經過HTTP cookie傳遞到腳本的信息。這些cookie通常是由之前執行的PHP腳本經過PHP函數setcookie()設置的。例如,假設使用 setcookie() 存儲了一個名爲 example.com、值爲ab2213的cookie。之後就能夠經過調用$COOKIE['example.com']來得到這個值。cookie
五、$_FILES
$_FILES超級全局變量包含經過POST方法向服務器上傳的數據的有關信息。這個超級全局變量與其餘的變量有所不一樣,它是一個二維數組,包含5個元素。第一個下標標示表單的文件上傳元素名;第二個下標是五個預約義下標之一,這些下標描述了上傳文件的某個屬性:
$_FILES'upload-name'; 從客戶端向服務器上傳文件的文件名;
$_FILES'upload-name'; 上傳文件的MIME類型,這個變量是否賦值取決於瀏覽器的功能。
$_FILES'upload-name'; 上傳文件的大小(以字節爲單位);
$_FILES'upload-name'; 上傳以後,將此文件移到最終位置以前賦予的臨時名。
$_FILES'upload-name'; 上傳狀態碼。儘管這個變量的名爲 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 中全部的變量。更多技術資訊可關注:gzitcast