PHP基礎知識之九個超全域性變數

2021-08-07 23:59:28 字數 3013 閱讀 5763

一、定義

php中內建了9個超全域性變數,這些變數可以在全部作用域中使用,而他們有著不小的作用在這裡做個總結。

二、預定義變數

1.請求類

$_get

超級全域性變數包含使用get方法傳遞的引數的有關資訊時。

即通過url位址或表單get形式提交的請求,用$_get獲取請求資訊,再做回應。

如 $_get[『id』] 的值為1

$_post

超級全域性變數包含用post方法傳遞的引數的有關資訊。

在表單中新增qianke,在提交頁面即可獲得下邊的值

$_post[ 'username' ] = " qianke " ;

$_request

變數通過 get,post 和 cookie 輸入機制傳遞給指令碼檔案,因此可以被遠端使用者篡改而並不可信。這個陣列的專案及其順序依賴於 php 的 variables_order 指令的配置.因此此超全域性陣列並不可信,不建議使用。

2.會話類

1.$_cookie

$_cookie超級全域性變數儲存了通過http cookie傳遞到指令碼的資訊。這些cookie一般是由以前執行的php指令碼通過php函式setcookie ( ) 設定的。

2.$_session

$_session 超級全域性變數包含與所有會話有關的資訊。註冊會話資訊能為你提供便利,這樣就能在整個**中引用這些會話資訊,而無需通過get或post顯示的傳遞資料。

session_start();

$_session['***'] = ***;

當呼叫時同樣要開啟session

3.環境相關類

1.$globals

$globals 超級全域性變數陣列可以認為超級全域性變數的超集,包含全域性作用域內的所有變數。2.e

nv_env超級全域性變數提供php解析所在伺服器環境的有關資訊。

$_env[『hostname』] 伺服器的主機名

$_env[『shell』] 系統 shell

3.$_server

超級全域性變數包含由web伺服器建立的資訊,它提供了伺服器和客戶配置及當前請求環境的有關資訊。

引數 php_self

當前執行指令碼的檔名,與 document root 有關。例如,在位址為 的指令碼中使用 $_server[『php_self』] 將得到 /test.php/foo.bar。file常量包含當前(例如包含)檔案的完整路徑和檔名。

==server_addr==

當前執行指令碼所在的伺服器的 ip 位址

『server_name』當前執行指令碼所在的伺服器的主機名。如果指令碼執行於虛擬主機中,該名稱是由那個虛擬主機所設定的值決定。

『server_software』伺服器標識字串,在響應請求時的頭資訊中給出。

==server_protocol==

請求頁面時通訊協議的名稱和版本。例如,」http/1.0」。

==request_method==

訪問頁面使用的請求方法;例如,」get」, 「head」,」post」,」put」。

==remote_addr==

瀏覽當前頁面的使用者的 ip 位址。

remote_host瀏覽當前頁面的使用者的主機名。dns 反向解析不依賴於使用者的 remote_addr。

『request_time』請求開始時的時間戳。從 php 5.1.0 起可用。

『request_time_float』請求開始時的時間戳,微秒級別的精準度。

『query_string』

query string(查詢字串),如果有的話,通過它進行頁面訪問。

==document_root==

當前執行指令碼所在的文件根目錄。在伺服器配置檔案中定義。

『http_accept』當前請求頭中 accept: 項的內容,如果存在的話。

『http_accept_charset』當前請求頭中 accept-charset

4.檔案

$_files

$_files超級全域性變數包含通過post方法向伺服器上傳的資料的有關資訊。(上傳檔案)

$_files[『upload-name』][『name』]; 從客戶端向伺服器上傳檔案的檔名;

$_files[『upload-name』][『type』]; 上傳檔案的mime型別,這個變數是否賦值取決於瀏覽器的功能。

$_files[『upload-name』][『size』]; 上傳檔案的大小(以位元組為單位);

$_files[『upload-name』][『tmp_name』]; 上傳之後,將此檔案移到最終位置之前賦予的臨時名。

$_files[『upload-name』][『error』]; 上傳狀態碼。儘管這個變數的名為 error ,但實際上在成功的情況下也會填寫這個變數。它有五個可能的值:

upload_err_ok 檔案成功上傳 0

upload_err_ini_size 檔案大小超出了 upload_max_filesize 指令所指定的最大值。

upload_err_form_size 檔案大小超出了max_file_size隱藏表單域引數(可選)指定的最大值。

upload_err_partial 檔案只上傳了一部分

upload_err_no_file 上傳表單中沒有指定檔案

處理上傳檔案時,用move_upload_file()將檔案移動到指定位置

move_uploaded_file ( string fi

lena

me,s

trin

g destination )

php 九個超全域性變數

print r get 位址列上獲得的值 print r post post表單傳送的資料 print r request 既有get,也有post的內容 session cookie files 檔案上傳 print r env 容易暴露伺服器資訊,一般不允許顯示.搜尋如果禁用了 env變數,還有...

PHP的九個超全域性變數

1.什麼是超全域性變數 php官網 超全域性變數 超全域性變數就是在全部作用域中始終可用的內建變數。全域性作用域 函式作用域都可以使用的php內建變數。在函式或方法中無需執行 global variable 就可以訪問它們。123 test function test 2.php的九個超全域性變數 ...

PHP的九個超全域性變數

1.什麼是超全域性變數 php官網 超全域性變數 超全域性變數就是在全部作用域中始終可用的內建變數。全域性作用域 函式作用域都可以使用的php內建變數。在函式或方法中無需執行 global variable 就可以訪問它們。a 123 test function test 2.php的九個超全域性變...