PHP超級全局變量總結
PHP有9個預定義變量數組,分別總結如下:
1、$_SERVER
$_SERVER超級全局變量包含由web服務器創建的信息,它提供了服務器和客戶配置及當前請求環境的有關信息。根據服務器不同,$_SERVER中的變量值和變量個數會有差別,不過一般都可以找到CGI1.1規范中定義的變量。其中包括:
$_SERVER[ 'HTTP_REFERER' ] ; 引導用戶到達當前位置的頁面的URL ;
$_SERVER[ 'REMOTE_ADDR' ] ; 客戶IP地址 ;
$_SERVER[ 'REQUEST_URI' ] ; URL的路徑部分。那么URI就是/blog/apache/index.html .
$_SERVER[ 'HTTP_USER_AGENT' ] ; 客戶的用戶代理,一般會提供操作系統和瀏覽器的有關信息。
2、$_GET
$_GET超級全局變量包含使用GET方法傳遞的參數的有關信息。 就可以使用$_GET超級全局變量訪問如下變量:
$_GET[ 'cat' ] = "apache" ;
$_GET[ 'id' ] = "157" ;
默認情況下,要訪問通GET方法傳遞的變量,$_GET超級全局變量是唯一的途徑。
3、$_POST
$_POST超級全局變量包含用POST方法傳遞的參數的有關信息。
[html] view plaincopy
<form caction="subscribe.php" method = "post">
<p>
Email address : <input type="text" name="email" size="20" maxlength="so" value="">
</p>
<p>
Password : <input type="password" name="pswd" size="20" maxlength="15" value="">
</p>
<p>
<input type="submit" name="subscribe" value="subscribe!">
</p>
</form>
通過腳本subscribe.php,就可以使用下面的POST變量:
$_POST[ 'email' ] = " jason@example. " ;
$_POST[ 'pswd' ] = "rainyday" ;
$_POST[ 'subscribe' ] = "subscribe!" ;
與$_GET一樣,在默認情況下,$_POST超級全局變量是訪問POST變量的唯一途徑。
4、$_COOKIE
$_COOKIE超級全局變量存儲了通過HTTP cookie傳遞到腳本的信息。這些cookie一般是由以前執行的PHP腳本通過PHP函數setcookie ( ) 設置的。例如,假設使用 setcookie ( )存儲了一個名為 example.com、值為ab2213的cookie.以后就可以通過調用$_COOKIE[ ' example.com' ]來獲得這個值。
5、$_FILES
$_FILES超級全局變量包含通過POST方法向服務器上傳的數據的有關信息。這個超級全局變量與其他的變量有所不同,它是一個二維數組,包含5個元素。第一個下標標示表單的文件上傳元素名;第二個下標是五個預定義下標之一,這些下標描述了上傳文件的某個屬性:
$_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 文件成功上傳
■ UPLOAD_ERR_INI_SIZE 文件大小超出了 upload_max_filesize 指令所指定的最大值。
■ UPLOAD_ERR_FORM_SIZE 文件大小超出了MAX_FILE_SIZE 隱藏表單域參數(可選)指定的最大值。
■ UPLOAD_ERR_PARTIAL 文件只上傳了一部分
■ UPLOAD_ERR_NO_FILE 上傳表單中沒有指定文件
6、$_ENV
$_ENV超級全局變量提供PHP解析所在服務器環境的有關信息。此數組中的變量包括:
$_ENV[ 'HOSTNAME' ] 服務器的主機名
$_ENV[ 'SHELL' ] 系統 shell
7、$_REQUEST
$_REQUEST超級全局變量是一個全能選手,它記錄了通過各種方法傳遞給腳本的變量,特別是GET ,POST 和 COOKIE . 這些變量的順序不依賴于它們在發送腳本中出現的順序,而是依賴于 variables_order 配置指令所指定的順序。建議少用這個超級變量,因為它不夠安全。
8、$_SESSION
$_SESSION 超級全局變量包含與所有會話有關的信息。注冊會話信息能為你提供便利,這樣就能在整個網站中引用這些會話信息,而無需通過GET或POST顯示的傳遞數據。
9、$GLOBALS
$GLOBALS 超級全局變量數組可以認為是超級全局變量的超集,包含全局作用域內的所有變量。執行下面的代碼可以查看$GLOBALS 中所有的變量。
print ' <pre>' ;
print_r ($GLOBALS);
print ' </pre>' ;
關鍵字:全局變量、服務器、傳遞數據
新文章:
- CentOS7下圖形配置網絡的方法
- CentOS 7如何添加刪除用戶
- 如何解決centos7雙系統后丟失windows啟動項
- CentOS單網卡如何批量添加不同IP段
- CentOS下iconv命令的介紹
- Centos7 SSH密鑰登陸及密碼密鑰雙重驗證詳解
- CentOS 7.1添加刪除用戶的方法
- CentOS查找/掃描局域網打印機IP講解
- CentOS7使用hostapd實現無AP模式的詳解
- su命令不能切換root的解決方法
- 解決VMware下CentOS7網絡重啟出錯
- 解決Centos7雙系統后丟失windows啟動項
- CentOS下如何避免文件覆蓋
- CentOS7和CentOS6系統有什么不同呢
- Centos 6.6默認iptable規則詳解