PHP $_SERVER 變量
$_SERVER 是一個包含諸如頭信息(header)、路徑(path)和腳本位置(script locations)的數組。它是 PHP 中一個超級全局變量,咱們能夠在 PHP 程序的任何地方直接訪問它。數組
$_SERVER 包含着衆多的信息,你能夠嘗試直接打印它:安全
print_r($_SERVER);
限於篇幅,在此再也不列出打印的結果,且不一樣的服務器上,打印出的結果也是有差別的。服務器
$_SERVER 數組元素
更多狀況下,咱們只須要 $_SERVER 數組中的某些元素(數組單元)。$_SERVER 數組包含的元素以下:網站
頁面程序相關
- $_SERVER['PHP_SELF']:相對於網站根目錄的路徑及 PHP 程序名稱,與 document root 相關。
- $_SERVER['HTTP_REFERER']:連接到當前頁面的前一頁面的 URL 地址。
- $_SERVER['SCRIPT_NAME']:相對於網站根目錄的路徑及 PHP 程序文件名稱 。
- $_SERVER['REQUEST_URI']:訪問此頁面所需的 URI 。
- $_SERVER['SCRIPT_FILENAME']:當前運行 PHP 程序的絕對路徑及文件名。
- $_SERVER['PATH_TRANSLATED']:當前 PHP 程序所在文件系統(不是文檔根目錄)的基本路徑。
- $_SERVER['QUERY_STRING']:查詢(query)的字符串(URL 中第一個問號 ? 以後的內容但不包括 # 後面的內容)。
- $_SERVER['argv']:傳遞給當前 PHP 程序的參數。
- $_SERVER['argc']:命令行模式下,包含傳遞給程序的命令行參數的個數。
- $_SERVER['REQUEST_TIME']:請求開始時的時間戳,從 PHP 5.1.0 起有效。
- $_SERVER['REQUEST_METHOD']:訪問頁面時的請求方法,例如:「GET」、「HEAD」,「POST」或「PUT」。
- $_SERVER['HTTP_ACCEPT']:當前請求的 Accept: 頭信息的內容。
- $_SERVER['HTTP_ACCEPT_CHARSET']:當前請求的 Accept-Charset: 頭信息的內容。例如:「iso-8859-1,*,utf-8」。
- $_SERVER['HTTP_ACCEPT_ENCODING']:當前請求的 Accept-Encoding: 頭信息的內容。例如:「gzip」。
- $_SERVER['HTTP_ACCEPT_LANGUAGE']:當前請求的 Accept-Language: 頭信息的內容。例如:「zh-cn」。
- $_SERVER['HTTP_CONNECTION']:當前請求的 Connection: 頭信息的內容。例如:「Keep-Alive」。
- $_SERVER['HTTP_HOST']:當前請求的 Host: 頭信息的內容。
- $_SERVER['HTTPS']:若是 PHP 程序是經過 HTTPS 協議被訪問,則被設爲一個非空的值。
- $_SERVER['PHP_AUTH_DIGEST']:看成爲 Apache 模塊運行時,進行 HTTP Digest 認證的過程當中,此變量被設置成客戶端發送的「Authorization」HTTP 頭內容(以便做進一步的認證操做)。
- $_SERVER['PHP_AUTH_USER']:當 PHP 運行在 Apache 或 IIS(PHP 5 是 ISAPI)模塊方式下,而且正在使用 HTTP 認證功能,這個變量即是用戶輸入的用戶名。
- $_SERVER['PHP_AUTH_PW']:當 PHP 運行在 Apache 或 IIS(PHP 5 是 ISAPI)模塊方式下,而且正在使用 HTTP 認證功能,這個變量即是用戶輸入的密碼。
- $_SERVER['AUTH_TYPE']:當 PHP 運行在 Apache 模塊方式下,而且正在使用 HTTP 認證功能,這個變量即是認證的類型。
服務器端相關
- $_SERVER['DOCUMENT_ROOT']:當前運行 PHP 程序所在的文檔根目錄,在服務器配置文件中定義。
- $_SERVER['GATEWAY_INTERFACE']:服務器使用的 CGI 規範的版本,例如:「CGI/1.1」。
- $_SERVER['SERVER_ADDR']:當前運行 PHP 程序所在的服務器的 IP 地址。
- $_SERVER['SERVER_NAME']:當前運行 PHP 程序所在的服務器的名稱。
- $_SERVER['SERVER_ADMIN']:Apache 服務器配置文件中的 SERVER_ADMIN 參數。
- $_SERVER['SERVER_PORT']:服務器所使用的端口。若是使用 SSL 安全鏈接,則這個值爲用戶設置的 HTTP 端口。
- $_SERVER['SERVER_SIGNATURE']:包含服務器版本和虛擬主機名的字符串。
- $_SERVER['SERVER_SOFTWARE']:服務器標識的字串,在響應請求時的頭信息中給出。
- $_SERVER['SERVER_PROTOCOL']:請求頁面時通訊協議的名稱和版本,例如:「HTTP/1.0」。
其餘雜項
- $_SERVER['HTTP_USER_AGENT']:當前請求的 User-Agent: 頭信息的內容,該字符串代表了訪問該頁面的用戶代理的信息。
- $_SERVER['REMOTE_ADDR']:正在瀏覽當前頁面用戶的 IP 地址。
- $_SERVER['REMOTE_HOST']:正在瀏覽當前頁面用戶的主機名。
- $_SERVER['REMOTE_PORT']:用戶鏈接到服務器時所使用的端口。
注意,若是以命令行方式運行 PHP,上面列出的元素幾乎沒有有效的(或是沒有任何實際意義的)。命令行