PHP 在運行的腳本中提供了大量預(yù)定義的變量來供使用。PHP提供了一套附加的預(yù)定義數(shù)組,這些數(shù)組變量包含了來自 web 服務(wù)器環(huán)境和用戶輸入。這些新的數(shù)組被稱為超全局變量:
以下所有的變量在全局范圍內(nèi)自動生效:
PHP 超全局變量:
變量 | 說明 |
---|---|
$GLOBALS | 包含一個引用變量這就表示其在腳本的所有作用域中都是可用的,變量的名字就是數(shù)組的鍵。 |
$_SERVER | 是一個包含了諸如頭信息(header)、路徑(path)、以及腳本位置(script locations)等等信息的數(shù)組。這個數(shù)組中的項目由 Web 服務(wù)器創(chuàng)建。不能保證每個服務(wù)器都提供全部項目;見下一節(jié)的完整列表的所有服務(wù)器變量。 |
$_GET | 通過HTTP GET方法傳遞給當(dāng)前腳本的變量的關(guān)聯(lián)數(shù)組。 |
$_POST | 通過HTTP POST方法傳遞給當(dāng)前腳本的變量的關(guān)聯(lián)數(shù)組。 |
$_FILES | 通過 HTTP POST 方式上傳到當(dāng)前腳本的項目的數(shù)組。 |
$_REQUEST | 一個關(guān)聯(lián)數(shù)組包含了 $_GET,$_POST 和 $_COOKIE 的數(shù)組。 |
$_COOKIE | 通過 HTTP Cookies 方式傳遞給當(dāng)前腳本的變量的關(guān)聯(lián)數(shù)組。 |
$_SESSION | 通過會話方式使用于當(dāng)前腳本的變量的關(guān)聯(lián)數(shù)組。 |
$_PHP_SELF | 包含一個PHP腳本的文件名的字符串。 |
$php_errormsg | 是一個包含文本的最后一個PHP生成的錯誤消息的變量。 |
$_SERVER 是一個包含了諸如頭信息(header)、路徑(path)、以及腳本位置(script locations)等等信息的數(shù)組。這個數(shù)組中的項目由 Web 服務(wù)器創(chuàng)建。不能保證每個服務(wù)器都提供全部項目。
變量 | 說明 |
---|---|
$_SERVER['PHP_SELF'] | 當(dāng)前執(zhí)行腳本的文件名,與 document root 有關(guān)。 |
$_SERVER['argv'] | 傳遞給該腳本的參數(shù)的數(shù)組。當(dāng)腳本以命令行方式運行時,argv 變量傳遞給程序 C 語言樣式的命令行參數(shù)。當(dāng)通過 GET 方式調(diào)用時,該變量包含查詢字符串。 |
$_SERVER['argc'] | 包含命令行模式下傳遞給該腳本的參數(shù)的數(shù)目(如果運行在命令行模式下)。 |
$_SERVER['GATEWAY_INTERFACE'] | 服務(wù)器使用的 CGI 規(guī)范的版本;例如,“CGI/1.1”。 | SOFTWARE
$_SERVER['SERVER_ADDR'] | 當(dāng)前運行腳本所在的服務(wù)器的 IP 地址。 |
$_SERVER['SERVER_NAME'] | 當(dāng)前運行腳本所在的服務(wù)器的主機(jī)名。如果腳本運行于虛擬主機(jī)中,該名稱是由那個虛擬主機(jī)所設(shè)置的值決定。 |
$_SERVER['SERVER_SOFTWARE'] | 服務(wù)器標(biāo)識字符串,在響應(yīng)請求時的頭信息中給出。 |
$_SERVER['SERVER_PROTOCOL'] | 請求頁面時通信協(xié)議的名稱和版本。例如,“HTTP/1.0”。 |
$_SERVER['REQUEST_METHOD'] | 訪問頁面使用的請求方法;例如,“GET”, “HEAD”,“POST”,“PUT”。 |
$_SERVER['REQUEST_TIME'] | 請求開始時的時間戳。從 PHP 5.1.0 起可用。 |
$_SERVER['QUERY_STRING'] | query string(查詢字符串),如果有的話,通過它進(jìn)行頁面訪問。 |
$_SERVER['DOCUMENT_ROOT'] | 當(dāng)前運行腳本所在的文檔根目錄。在服務(wù)器配置文件中定義。 |
$_SERVER['HTTP_ACCEPT'] | 當(dāng)前請求頭中 Accept: 項的內(nèi)容,如果存在的話。 |
$_SERVER['HTTP_ACCEPT_CHARSET'] | 當(dāng)前請求頭中 Accept-Charset: 項的內(nèi)容,如果存在的話。例如:“iso-8859-1,*,utf-8”。 |
$_SERVER['HTTP_ACCEPT_ENCODING'] | 當(dāng)前請求頭中 Accept-Encoding: 項的內(nèi)容,如果存在的話。例如:“gzip”。 |
$_SERVER['HTTP_ACCEPT_LANGUAGE'] | 當(dāng)前請求頭中 Accept-Language: 項的內(nèi)容,如果存在的話。例如:“en”。 |
$_SERVER['HTTP_CONNECTION'] | 當(dāng)前請求頭中 Connection: 項的內(nèi)容,如果存在的話。例如:“Keep-Alive”。 |
$_SERVER['HTTP_HOST'] | 當(dāng)前請求頭中 Host: 項的內(nèi)容,如果存在的話。 |
$_SERVER['HTTP_REFERER'] | 頁面的地址(如果有的話),將當(dāng)前頁面的用戶代理。 |
$_SERVER['HTTP_USER_AGENT'] | 該字符串表明了訪問該頁面的用戶代理的信息。一個典型的例子是:Mozilla/4.5 [en] (X11; U; Linux 2.2.9 i586)。 |
$_SERVER['HTTPS'] | 如果腳本是通過 HTTPS 協(xié)議被訪問,則被設(shè)為一個非空的值。 |
$_SERVER['REMOTE_ADDR'] | 瀏覽當(dāng)前頁面的用戶的 IP 地址。 |
$_SERVER['REMOTE_HOST'] | 瀏覽當(dāng)前頁面的用戶的主機(jī)名。DNS 反向解析不依賴于用戶的 REMOTE_ADDR。 |
$_SERVER['REMOTE_PORT'] | 服務(wù)器機(jī)器上的端口使用的web服務(wù)器進(jìn)行通信。為默認(rèn)設(shè)置,這將是“80”。 |
$_SERVER['SCRIPT_FILENAME'] | 當(dāng)前執(zhí)行腳本的絕對路徑。 |
$_SERVER['SERVER_ADMIN'] | 該值指明了 Apache 服務(wù)器配置文件中的 SERVER_ADMIN 參數(shù)。如果腳本運行在一個虛擬主機(jī)上,則該值是那個虛擬主機(jī)的值。 |
$_SERVER['SERVER_PORT'] | Web 服務(wù)器使用的端口。默認(rèn)值為 “80”。如果使用 SSL 安全連接,則這個值為用戶設(shè)置的 HTTP 端口。 |
$_SERVER['SERVER_SIGNATURE'] | 包含了服務(wù)器版本和虛擬主機(jī)名的字符串。 |
$_SERVER['PATH_TRANSLATED'] | 當(dāng)前腳本所在文件系統(tǒng)(非文檔根目錄)的基本路徑。這是在服務(wù)器進(jìn)行虛擬到真實路徑的映像后的結(jié)果。 |
$_SERVER['SCRIPT_NAME'] | 包含當(dāng)前腳本的路徑。這是有用的頁面需要指向自己。 |
$_SERVER['REQUEST_URI'] | 給定的URI來訪問這個頁面;例如,/ index . html。 |
$_SERVER['PHP_AUTH_DIGEST'] | 當(dāng)運行在Apache模塊做消化HTTP身份驗證這個變量設(shè)置為發(fā)送的“授權(quán)”頭端。 |
$_SERVER['PHP_AUTH_USER'] | 運行在Apache和IIS(ISAPI PHP 5)作為HTTP身份驗證模塊做這個變量設(shè)置為用戶提供的用戶名。 |
$_SERVER['PHP_AUTH_PW'] | 當(dāng)運行在Apache和IIS(ISAPI PHP 5)作為HTTP身份驗證模塊做這個變量設(shè)置為用戶提供的密碼。 |
$_SERVER['AUTH_TYPE'] | 當(dāng)運行在Apache HTTP身份驗證模塊做這個變量設(shè)置為身份驗證類型。 |