1、$_SERVER
$_SERVER超級全域變數包含網頁伺服器建立的信息,它提供了伺服器和客戶配置及目前請求環境的有關資訊。根據伺服器不同,$_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方法傳遞的參數的相關資訊。
透過腳本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 中所有的變數。
'; <br> <br> print_r ($GLOBALS); <br> <br> print '