$GLOBALS
包含一個引用指向每個當前腳本的全局范圍內有效的變量該數組的鍵標為全局變量的 名稱從 PHP 開始存在 $GLOBALS 數組
$_SERVER
變量由 Web 服務器設定或者直接與當前腳本的執行環境相關聯類似於舊數組 $HTTP_SERVER_VARS 數組(依然有效但反對使用)
$_GET
經由 HTTP GET 方法提交至腳本的變量類似於舊數組 $HTTP_GET_VARS 數組(依然有效但反對使用)
$_POST
經由 HTTP POST 方法提交至腳本的變量類似於舊數組 $HTTP_POST_VARS 數組(依然有效但反對使用)
$_COOKIE
經由 HTTP Cookies 方法提交至腳本的變量類似於舊數組 $HTTP_COOKIE_VARS 數組(依然有效但反對使用)
$_FILES
經由 HTTP POST 文件上傳而提交至腳本的變量類似於舊數組 $HTTP_POST_FILES 數組(依然有效但反對使用)詳細信息請參閱 POST 方法上傳
$_ENV
執行環境提交至腳本的變量類似於舊數組 $HTTP_ENV_VARS 數組(依然有效但反對使用)
$_REQUEST
經由 GETPOST 和 COOKIE 機制提交至腳本的變量因此該數組並不值得信任所有包含在該數組中的變量的存在與否以及變量的順序均按照 phpini 中的 variables_order 配置指示來定義該數組沒有直接模擬 PHP 的早期版本參見
******自 PHP 起$_FILES 中的文件信息不再存在於 $_REQUEST 中*****
$_SESSION
當前注冊給腳本會話的變量類似於舊數組 $HTTP_SESSION_VARS 數組(依然有效但反對使用)
服務器變量 $_SERVER 詳解
$_SERVER [PHP_SELF] 獲取當前正在執行腳本的文件名
$_SERVER[SERVER_PROTOCOL] 請求頁面時通信協議的名稱和版本例如HTTP/
$_SERVER[REQUEST_TIME] 請求開始時的時間戳從 PHP 起有效和time函數效果一樣
$_SERVER[argv] 傳遞給該腳本的參數我試了下get方法可以得到$_SERVER[argv][]post方法無法給他賦值
$_SERVER[SERVER_NAME] 返回當前主機名
$_SERVER[SERVER_SOFTWARE] 服務器標識的字串在響應請求時的頭信息中給出 如MicrosoftIIS/
$_SERVER[REQUEST_METHOD] 訪問頁面時的請求方法例如GETHEADPOSTPUT
$_SERVER[QUERY_STRING] 查詢(query)的字符串(URL 中第一個問號 ? 之後的內容)
$_SERVER[DOCUMENT_ROOT] 當前運行腳本所在的文檔根目錄在服務器配置文件中定義 如E:\server
$_SERVER[HTTP_ACCEPT] 當前請求的 Accept: 頭信息的內容
$_SERVER[HTTP_ACCEPT_CHARSET] 當前請求的 AcceptCharset: 頭信息的內容例如iso*utf
$_SERVER[HTTP_ACCEPT_ENCODING] 當前請求的 AcceptEncoding: 頭信息的內容例如gzip
$_SERVER[HTTP_ACCEPT_LANGUAGE] 當前請求的 AcceptLanguage: 頭信息的內容例如en
$_SERVER[HTTP_CONNECTION] 當前請求的 Connection: 頭信息的內容例如KeepAlive
$_SERVER[HTTP_HOST] 當前請求的 Host: 頭信息的內容
$_SERVER[HTTP_REFERER] 鏈接到當前頁面的前一頁面的 URL 地址不是所有的用戶代理(浏覽器)都會設置這個變量而且有的還可以手工修改 HTTP_REFERER因此這個變量不總是正確真實的
$_SERVER[HTTP_USER_AGENT] 返回用戶使用的浏覽器信息一個典型的例子是Mozilla/ [en] (X; U; Linux i)也可以使用 get_browser() 得到此信息
$_SERVER[HTTPS] 如果通過https訪問則被設為一個非空的值否則返回off
$_SERVER[REMOTE_ADDR] 正在浏覽當前頁面用戶的 IP 地址
$_SERVER[REMOTE_HOST] 正在浏覽當前頁面用戶的主機名反向域名解析基於該用戶的 REMOTE_ADDR如本地測試返回
$_SERVER[REMOTE_PORT] 用戶連接到服務器時所使用的端口我在本機測試沒通過不知道什麼原因
$_SERVER[SCRIPT_FILENAME] 當前執行腳本的絕對路徑名如返回E:\server\indexphp
$_SERVER[SERVER_ADMIN] 該值指明了 Apache 服務器配置文件中的 SERVER_ADMIN 參數如果腳本運行在一個虛擬主機上則該值是那個虛擬主機的值
$_SERVER[SERVER_PORT] 服務器所使用的端口默認為如果使用 SSL 安全連接則這個值為用戶設置的 HTTP 端口
$_SERVER[SERVER_SIGNATURE] 包含服務器版本和虛擬主機名的字符串
$_SERVER[PATH_TRANSLATED] 當前腳本所在文件系統(不是文檔根目錄)的基本路徑這是在服務器進行虛擬到真實路徑的映像後的結果 Apache 用 戶可以使用 中的 AcceptPathInfo On 來定義 PATH_INFO
$_SERVER[SCRIPT_NAME] 包含當前腳本的路徑這在頁面需要指向自己時非常有用__FILE__ 包含當前文件的絕對路徑和文件名(例如包含文件)
$_SERVER[REQUEST_URI] 訪問此頁面所需的 URI例如/l
$_SERVER[PHP_AUTH_DIGEST] 當作為 Apache 模塊運行時進行 HTTP Digest 認證的過程中此變量被設置成客戶端發送的AuthorizationHTTP 頭內容(以便作進一步的認證操作)
$_SERVER[PHP_AUTH_USER] 當 PHP 運行在 Apache 或 IIS(PHP 是 ISAPI)模塊方式下並且正在使用 HTTP 認證功能這個變量便是用戶輸入的用戶名
$_SERVER[PHP_AUTH_PW] 當 PHP 運行在 Apache 或 IIS(PHP 是 ISAPI)模塊方式下並且正在使用 HTTP 認證功能這個變量便是用戶輸入的密碼
$_SERVER[AUTH_TYPE]當 PHP 運行在 Apache 模塊方式下並且正在使用 HTTP 認證功能這個變量便是認證的類型
PHP預定義全局變量$_FILES詳解
經由 HTTP POST 文件上傳而提交至腳本的變量類似於舊數組 $HTTP_POST_FILES 數組(依然有效但反對使用)詳細信息請參閱 POST 方法上傳
$_FILES數組內容如下:
<input type=file name=userfile>
$_FILES[userfile][name] 客戶端機器文件的原名稱
$_FILES[userfile][type] 文件的 MIME 類型需要浏覽器提供該信息的支持例如image/gif
$_FILES[userfile][size] 已上傳文件的大小單位為字節
$_FILES[userfile][tmp_name]文件被上傳後在服務端儲存的臨時文件名
$_FILES[userfile][error]和該文件上傳相關的錯誤代碼[error] 是在 PHP 版本中增加的
注: 在 PHP 版本以前該數組的名稱為 $HTTP_POST_FILES它並不像 $_FILES 一樣是自動全局變量PHP 不支持 $HTTP_POST_FILES 數組
From:http://tw.wingwit.com/Article/program/PHP/201311/20785.html