PHP 預定義變數,PHP 超全域性變數

2021-04-24 00:10:28 字數 1723 閱讀 4072

php 提供了大量的預定義變數。由於許多變數依賴於執行的伺服器的版本和設定,及其它因素,所以並沒有詳細的說明文件。一些預定義變數在 php 以命令列形式執行時並不生效。有關這些變數的詳細列表,請參閱預定義變數一章。

注意:php 4.2.0 以及後續版本中,php 指令 register_globals 的預設值為 off。這是 php 的乙個主要變化。讓 register_globals 的值為 off 將影響到預定義變數集在全域性範圍內的有效性。例如,為了得到 document_root 的值,將必須使用 $_server['document_root'] 代替 $document_root,又如,使用 $_get['id'] 來代替 $id 從 url http://www.example.com/test.php?id=3 中獲取 id 值,亦或使用 $_env['home'] 來代替 $home 獲取環境變數 home 的值。

如果有可用的 php 預定義變數那最好用,如超全域性變數。

可變變數: 超級全域性變數不能被用作可變變數。

注: 儘管超全域性變數和 http_*_vars 同時存在。但是他們並不是同乙個變數,所以改變乙個的值並不會對另乙個產生影響。

php 超全域性變數

$globals

包含乙個引用指向每個當前指令碼的全域性範圍內有效的變數。該陣列的鍵名為全域性變數的名稱。從 php 3 開始存在 $globals 陣列。

$_server

變數由 web 伺服器設定或者直接與當前指令碼的執行環境相關聯。類似於舊陣列 $http_server_vars 陣列(依然有效,但反對使用)。

$_get

經由 url 請求提交至指令碼的變數。類似於舊陣列 $http_get_vars 陣列(依然有效,但反對使用)。

$_post

經由 http post 方法提交至指令碼的變數。類似於舊陣列 $http_post_vars 陣列(依然有效,但反對使用)。

$_cookie

經由 http cookies 方法提交至指令碼的變數。類似於舊陣列 $http_cookie_vars 陣列(依然有效,但反對使用)。

$_files

經由 http post 檔案上傳而提交至指令碼的變數。類似於舊陣列 $http_post_files 陣列(依然有效,但反對使用)。詳細資訊請參閱 post 方法上傳。

$_env

執行環境提交至指令碼的變數。類似於舊陣列 $http_env_vars 陣列(依然有效,但反對使用)。

$_request

經由 get,post 和 cookie 機制提交至指令碼的變數,因此該陣列並不值得信任。所有包含在該陣列中的變數的存在與否以及變數的順序均按照 php.ini 中的 variables_order 配置指示來定義。此陣列在 php 4.1.0 之前沒有直接對應的版本。參見 import_request_variables()。

注意 自 php 4.3.0 起,$_files 中的檔案資訊不再存在於 $_request 中。

注: 當執行於命令列模式時,此陣列將不會包含 argv 和 argc 條目;它們已經存在於陣列 $_server 中。

$_session

當前註冊給指令碼會話的變數。類似於舊陣列 $http_session_vars 陣列(依然有效,但反對使用)。詳細資訊,請參照 session 處理函式章節。

PHP 預定義超全域性變數

全域性變數,指變數在整個指令碼的作用範圍內,叫全域性是因為該變數在整個作用域。作用域是指程式執行時,程序沒有結束或死掉。php發給apache apache會根據這個請求,建立乙個程序為這個請求服務,這個程序就是乙個作用域。超全域性變數,指在全域性變數的基礎上,無需宣告,直接使用。可以自己往超全域性...

PHP 超全域性陣列(預定義變數)

伺服器變數 server 環境變數 env http get變數 get hhtp post變數 post request變數 request http檔案上傳變數 files session變數 session global變數 globals 伺服器變數 server server 是乙個包含諸...

PHP 九種預定義超全域性變數

php供提供了九種預定義超全域性變數 get post request server env file cookie session globals。在這裡,我們介紹其中的六種。1.get 原理圖 示例 test.php頁面 urlencode編碼 echo 傳送資料 a.php頁面 echo ec...