PHP 伺服器變數 $_SERVER

來源:互聯網
上載者:User

標籤:第一個   相關   cti   rip   rem   安全   php 程式   auth   pos   

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,上面列出的元素幾乎沒有有效(或是沒有任何實際意義的)。

PHP 伺服器變數 $_SERVER

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.