首頁  >  文章  >  後端開發  >  有關php中的系統變數與環境變數

有關php中的系統變數與環境變數

WBOY
WBOY原創
2016-07-25 08:58:46757瀏覽
本文介紹下,有關php中的系統變數與環境變數的相關知識,有需要的朋友,可以參考學習下。

在日常的php程式設計中,有時會遇到系統變數與環境變數的修改,以適應簡單而高效的php開發。 在虛擬主機環境下,有時更需要透過PHP環境變數操作函數,對PHP環境變數值進行設定。

本文介紹下PHP環境變數$_SERVER和PHP系統常數的設定方法,供大家參考。

PHP提供了許多預設的系統變量,用於獲得系統配置資訊、網路請求相關資訊等。

預設的系統變數及其作用如下所示:

變數 作用

$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'] 連結到目前頁面的前一頁面的網址。在頁面跳躍功能中非常有用。

  $_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.INI中的相關內容,大家可以找些文件參考下。



陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn