PHP的系統變數

2021-06-09 16:45:53 字數 2711 閱讀 9753

在php**開發中,為了滿足**的需要,時常需要對php環境變數進行設定和應用,在虛擬主機環境下,有時我們更需要通過php環境變數操作函 數來對php環境變數值進行設定。為此我們有必要對php環境變數先有所熟悉。今天和大家分享php環境變數$_server和php系統常量的部分詳細 說明。

php提供了很多預設的系統變數,用於獲得系統配置資訊、網路請求相關資訊等。這些預設的系統變數及其作用如表2-1所示。變數

作用 $globals

儲存當前指令碼中的所有全域性變數,其key為變數名,value為變數值

$_server

當前web伺服器變數陣列

$_get

儲存以get方法提交表單中的資料

$_post

儲存以post方法提交表單中的資料

$_cookie

取得或設定使用者瀏覽器cookies中儲存的變數陣列

$_files

儲存上傳檔案提交到當前指令碼的資料

$_env

儲存當前web環境變數

$_request

儲存提交表單中所有請求陣列,其中包括

$_get、$_post、$_cookie和$_session中的所有內容

$_session

儲存當前指令碼的會話變數陣列

置檔案的不同,在不同環境下顯示的內容可能會有所不同。

與系統變數一樣,php也提供了一些預設的系統常量供使用。在程式中可以隨時應用這些系統常量,但是我們不能任意更改這些常量的值。php中常用的一些預設系統常量及其作用如表2-2所示。常量

作用 __file__

儲存當前指令碼的絕對路徑及檔名稱

__line__

儲存該常量所在的行號

__function__

儲存該常量所在的函式名稱

__class__

儲存該常量所在的類的名稱

php_version

儲存當前php的版本號

php_os

儲存當前伺服器的作業系統

$_get 和$_post主要針對form表單提交的資料,$_cookie和$_session主要針對客戶端遊覽器和伺服器端會話資料。$_files主要針對檔案上傳時提交的資料,$_request主要針對提交表單中所有請求陣列,包括$_get、$_post、$_cookie中的所有內容,你可以通過print_r函式分別輸出$_request或者$_cookie等進行比較。

php環境變數$_server簡介

是乙個包含伺服器端相關資訊的php全域性環境變數,在php4.1.0之前的版本使用$http_server_vars。

$_server['php_self'] 當前正在執行指令碼的檔名,與 document root相關。在form表單中,如執行檔案是本身,你可以在action中使用$_server['php_self'],好處是當執行檔名有變動時可以不去頻繁替換action中的檔名。

$_server['server_name'] 當前執行的php程式所在伺服器主機的名稱。

$_server['request_method'] 訪問頁面時的請求方法,即get、head、post、put。

$_server['document_root'] 當前執行的php程式所在的文件根目錄。也就是php.ini檔案中的定義。

$_server['http_referer'] 鏈結到當前頁面的前一頁面的url位址。在頁面跳轉功能中非常有用。

$_server['remote_addr'] 正在瀏覽當前頁面訪問者的ip位址。

$_server['remote_host'] 正在瀏覽當前頁面使用者的主機名。

$_server['remote_port'] 正在遊覽的使用者連線到伺服器時所使用的埠。

$_server['script_filename'] 當前執行指令碼的絕對路徑名。

$_server['server_port'] 伺服器所使用的埠

$_server['script_name'] 包含當前指令碼的路徑。這在頁面需要指向自己時非常有用。

$_server['request_uri'] 訪問此頁面所需的uri。如「/index.html」。

$_server['php_auth_user'] 應用在http使用者登入認證功能中,這個變數是使用者輸入的使用者名稱。

$_server['php_auth_pw'] 應用在http使用者登入認證功能中,這個變數便是使用者輸入的密碼。

$_server['auth_type'] 應用在http使用者登入認證功能中,這個變數便是認證的型別。

注:上述提到的這些php全域性環境變數,在php.ini中的register_globals設定為on時,這些變數在所有php程式指令碼中都可用,也就是$_server陣列被分離了。當然為了安全考慮,還是不要將register_globals開啟為好。

php系統常量

__file__ 當前php程式指令碼的絕對路徑及檔名稱

__line__ 儲存該常量所在的行號

__function__ 儲存該常量所在的函式名稱

__class__ 儲存該常量所在的類的名稱

php_version 儲存當前php的版本號,也可以通過phpversion()函式獲取。

php_os 儲存當前伺服器的作業系統

php環境變數$_server的更多資訊請參考php幫助手冊,文章開頭提到在虛擬主機環境下我們需要通過php環境變數操作函式來對php環境變數值進行設定,主要用到ini_set和ini_get,其實還有更多此類函式,比如php中的錯誤報告設定等。

PHP 系統變數 SERVER

server 是乙個包含了諸如頭資訊 header 路徑 path 以及指令碼位置 script locations 等等資訊的陣列。這個陣列中的專案由 web 伺服器建立。不能保證每個伺服器都提供全部專案 伺服器可能會忽略一些,或者提供一些沒有在這裡列舉出來的專案。下表列出了所有 server 變...

PHP 系統變數 環境變數

在php 開發中,為了滿足 的需要,時常需要對php環境變數進行設定和應用,在虛擬主機環境下,有時我們更需要通過php環境變數操作函 數來對php環境變數值進行設定。為此我們有必要對php環境變數先有所熟悉。今天和大家分享php環境變數 server和php系統常量的部分詳細 說明。php提供了很多...

PHP 系統變數 環境變數

在php 開發中,為了滿足 的需要,時常需要對php環境變數進行設定和應用,在虛擬主機環境下,有時我們更需要通過php環境變數操作函 數來對php環境變數值進行設定。為此我們有必要對php環境變數先有所熟悉。今天和大家分享php環境變數 server和php系統常量的部分詳細 說明。php提供了很多...