php 函數或變數的記錄

來源:互聯網
上載者:User

一、$_SERVER  伺服器和執行環境資訊

$_SERVER 是一個包含了諸如頭資訊(header)、路徑(path)、以及指令碼位置(script locations)等等資訊的數組。這個數組中的項目由 Web 服務器建立。不能保證每個伺服器都提供全部項目;伺服器可能會忽略一些,或者提供一些沒有在這裡列舉出來的項目。這也就意味著大量的此類變數都會在» CGI 1.1 規範中說明,所以應該仔細研究一下。

 

例子網址: http://localhost/test/test.php?a=1&b=2

參數  解釋
PHP_SELF 當前執行指令碼的檔案名稱,與 document root 有關。例如,在地址為 http://example.com/test.php/foo.bar 的指令碼中使用 $_SERVER['PHP_SELF'] 將得到 /test.php/foo.bar。__FILE__ 常量包含當前(例如包含)檔案的完整路徑和檔案名稱。 從 PHP 4.3.0 版本開始,如果 PHP 以命令列模式運行,這個變數將包含指令碼名。之前的版本該變數不可用。 例子: "/test/test.php"
GATEWAY_INTERFACE  伺服器使用的 CGI 規範的版本;  例如,“CGI/1.1”。
DOCUMENT_ROOT 當前運行指令碼所在的主目錄。在伺服器設定檔中定義。  例如:"D:/Program Files/xampp/htdocs"
PATH_TRANSLATED 當前指令碼所在檔案系統(非主目錄)的基本路徑。這是在伺服器進行虛擬到真實路徑的映像後的結果。Note: 自 PHP 4.3.2 起,PATH_TRANSLATED 在 Apache 2 SAPI 模式下不再和 Apache 1 一樣隱含賦值,而是若 Apache 不產生此值,PHP 便自己產生並將其值放入 SCRIPT_FILENAME 伺服器常量中。這個修改遵守了 CGI 規範,PATH_TRANSLATED 僅在 PATH_INFO 被定義的條件下才存在。Apache 2 使用者可以在 httpd.conf 中設定 AcceptPathInfo = On 來定義 PATH_INFO。
   
SERVER_ADDR 當前運行指令碼所在的伺服器的 IP 位址。  例如: "127.0.0.1"
SERVER_NAME 當前運行指令碼所在的伺服器的主機名稱。如果指令碼運行於虛擬機器主機中,該名稱是由那個虛擬機器主機所設定的值決定。  例如: "localhost"
SERVER_SOFTWARE  伺服器標識字串,在響應請求時的頭資訊中給出。  例如:"Apache/2.2.21 (Win32) mod_ssl/2.2.21 OpenSSL/1.0.0e PHP/5.3.8 mod_perl/2.0.4 Perl/v5.10.1"
SERVER_PROTOCOL 請求頁面時通訊協定的名稱和版本。例如,“HTTP/1.0”。
SERVER_ADMIN

該值指明了 Apache 伺服器設定檔中的 SERVER_ADMIN 參數。如果指令碼運行在一個虛擬機器主機上,則該值是那個虛擬機器主機的值。  

例如:"postmaster@localhost"

SERVER_PORT

Web 服務器使用的連接埠。預設值為 “80”。如果使用 SSL 安全連線,則這個值為使用者佈建的 HTTP 連接埠。

SERVER_SIGNATURE

包含了伺服器版本和虛擬機器主機名的字串。  例如: "<address>Apache/2.2.21 (Win32) mod_ssl/2.2.21 OpenSSL/1.0.0e PHP/5.3.8 mod_perl/2.0.4 Perl/v5.10.1 Server at localhost Port 80</address> "

   
REQUEST_URI URI 用來指定要訪問的頁面。  例如: "/test/test.php?a=1&b=2"
REQUEST_METHOD 訪問頁面使用的要求方法;例如,“GET”, “HEAD”,“POST”,“PUT”。
REQUEST_TIME 請求開始時的時間戳記。從 PHP 5.1.0 起可用。  例如: 1361759010
REQUEST_TIME_FLOAT 請求開始時的時間戳記,微秒層級的精準度。 自 PHP 5.4.0 開始生效。
REQUEST_STRING query string(查詢字串),如果有的話,通過它進行頁面訪問。  例如:"a=1&b=2"
   
   
HTTP_ACCEPT 當前要求標頭中 Accept: 項的內容,如果存在的話。  例如: "text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8"
HTTP_ACCEPT_CHARSET 當前要求標頭中 Accept-Charset: 項的內容,如果存在的話。例如:“iso-8859-1,*,utf-8”。  例如: "GBK,utf-8;q=0.7,*;q=0.3"
HTTP_ACCEPT_ENCODING 當前要求標頭中 Accept-Encoding: 項的內容,如果存在的話。  例如:"gzip,deflate,sdch"。
HTTP_ACCEPT_LANGUAGE 當前要求標頭中 Accept-Language: 項的內容,如果存在的話。例如:“en”。  例如: "zh-CN,zh;q=0.8"
HTTP_CONNECTION 當前要求標頭中 Connection: 項的內容,如果存在的話。例如:“Keep-Alive”。  
HTTP_HOST 當前要求標頭中 Host: 項的內容,如果存在的話。  例如: "localhost"
HTTP_REFERER 引導使用者代理程式到當前頁的前一頁的地址(如果存在)。由 user agent 設定決定。並不是所有的使用者代理程式都會設定該項,有的還提供了修改 HTTP_REFERER 的功能。簡言之,該值並不可信。
HTTP_USER_AGENT 當前要求標頭中 User-Agent: 項的內容,如果存在的話。該字串表明了訪問該頁面的使用者代理程式的資訊。一個典型的例子是:Mozilla/4.5 [en] (X11; U; Linux 2.2.9 i586)。除此之外,你可以通過 get_browser() 來使用該值,從而定製頁面輸出以便適應使用者代理程式的效能。  例如: "Mozilla/5.0 (Windows NT 5.1) AppleWebKit/537.17 (KHTML, like Gecko) Chrome/24.0.1312.57 Safari/537.17"
HTTPS 如果指令碼是通過 HTTPS 協議被訪問,則被設為一個非空的值。
   
REMOTE_ADDR 瀏覽當前頁面的使用者的 IP 位址。  例如: "127.0.0.1"
REMOTE_HOST 瀏覽當前頁面的使用者的主機名稱。DNS 反向解析不依賴於使用者的 REMOTE_ADDR。    Note: 你的伺服器必須被配置以便產生這個變數。例如在 Apache 中,你需要在 httpd.conf 中設定 HostnameLookups On 來產生它。參見gethostbyaddr()。
REMOTE_PORT 使用者機器上串連到 Web 服務器所使用的連接埠號碼。  例如: "4763"
REMOTE_USER 經驗證的使用者
   
REDIRECT_REMOTE_USER 驗證的使用者,如果請求已在內部重新導向。
   
SCRIPT_FILENAME 當前執行指令碼的絕對路徑。

Note:

如果在命令列介面(Command Line Interface, CLI)使用相對路徑執行指令碼,例如 file.php 或 ../file.php,那麼 $_SERVER['SCRIPT_FILENAME']將包含使用者指定的相對路徑。

例子:"D:/Program Files/xampp/htdocs/test/test.php"

SCRIPT_NAME 包含當前指令碼的路徑。這在頁面需要指向自己時非常有用。__FILE__ 常量包含當前指令碼(例如包含檔案)的完整路徑和檔案名稱。  例如:"/test/test.php"
   
PHP_AUTH_DIGEST 當作為 Apache 模組運行時,進行 HTTP Digest 認證的過程中,此變數被設定成用戶端發送的“Authorization” HTTP 頭內容(以便作進一步的認證操作)。
PHP_AUTH_USER 當 PHP 運行在 Apache 或 IIS(PHP 5 是 ISAPI)模組方式下,並且正在使用 HTTP 認證功能,這個變數便是使用者輸入的使用者名稱。
PHP_AUTH_PW 當 PHP 運行在 Apache 或 IIS(PHP 5 是 ISAPI)模組方式下,並且正在使用 HTTP 認證功能,這個變數便是使用者輸入的密碼。
AUTH_TYPE 當 PHP 運行在 Apache 模組方式下,並且正在使用 HTTP 認證功能,這個變數便是認證的類型。
   
PATH_INFO (? 測試中是PATH, PATH_INFO 出錯) 包含由用戶端提供的、跟在真實指令碼名稱之後並且在查詢語句(query string)之前的路徑資訊,如果存在的話。例如,如果當前指令碼是通過 URLhttp://www.example.com/php/path_info.php/some/stuff?foo=bar 被訪問,那麼 $_SERVER['PATH_INFO'] 將包含 /some/stuff
ORIG_PATH_INFO 在被 PHP 處理之前,“PATH_INFO” 的原始版本。
   

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在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.