PHP預(yù)定義變量數(shù)組種類概覽
PHP語(yǔ)言中有一些預(yù)定義的變量數(shù)組,對(duì)于初學(xué)者來(lái)說(shuō),可能對(duì)這些數(shù)組有些不太明白。下面我們就為大家詳細(xì)介紹PHP預(yù)定義變量數(shù)組的分類。#t#
PHP預(yù)定義變量數(shù)組1、$_SERVER
$_SERVER超級(jí)全局變量包含由web服務(wù)器創(chuàng)建的信息,它提供了服務(wù)器和客戶配置及當(dāng)前請(qǐng)求環(huán)境的有關(guān)信息。根據(jù)服務(wù)器不同,$_SERVER中的變量值和變量個(gè)數(shù)會(huì)有差別,不過(guò)一般都可以找到CGI1.1規(guī)范中定義的變量。其中包括:
$_SERVER[ 'HTTP_REFERER' ] ; 引導(dǎo)用戶到達(dá)當(dāng)前位置的頁(yè)面的URL ;
$_SERVER[ 'REMOTE_ADDR‘ ] ; 客戶IP地址 ;
$_SERVER[ ’REQUEST_URI‘ ] ; URL的路徑部分。如果URL是 [url]http://www.example.com/blog/apache/index.html[/url] ,那么URI就是/blog/apache/index.html 。
$_SERVER[ 'HTTP_USER_AGENT' ] ; 客戶的用戶代理,一般會(huì)提供操作系統(tǒng)和瀏覽器的有關(guān)信息。
PHP預(yù)定義變量數(shù)組2、$_GET
$_GET超級(jí)全局變量包含使用GET方法傳遞的參數(shù)的有關(guān)信息。如果請(qǐng)求URL為[url]http://www.example.com/index.html?cat=apache&id=157[/url], 就可以使用$_GET超級(jí)全局變量訪問(wèn)如下變量:
$_GET[ 'cat' ] = "apache" ;
$_GET[ 'id' ] = "157" ;
默認(rèn)情況下,要訪問(wèn)通GET方法傳遞的變量,$_GET超級(jí)全局變量是唯一的途徑。
PHP預(yù)定義變量數(shù)組3、$_POST
$_POST超級(jí)全局變量包含用POST方法傳遞的參數(shù)的有關(guān)信息。
- < form caction="subscribe.php"
- method = "post">
- < p>
- Email address : < br>
- < input type="text" name="email"
- size="20" maxlength="so" value="">
- < /p>
- < p>
- Password : < br>
- < input type="password"
- name="pswd" size="20" maxlength="15"
- value="">
- < /p>
- < p>
- < input type="submit" name="subscribe"
- value="subscribe!">
- < /p>
- < /form>
通過(guò)腳本subscribe.php,就可以使用下面的POST變量:
$_POST[ 'email' ] = " jason@example.com " ;
$_POST[ 'pswd' ] = "rainyday" ;
$_POST[ 'subscribe' ] = "subscribe!" ;
與$_GET一樣,在默認(rèn)情況下,$_POST超級(jí)全局變量是訪問(wèn)POST變量的唯一途徑。
PHP預(yù)定義變量數(shù)組4、$_COOKIE
$_COOKIE超級(jí)全局變量存儲(chǔ)了通過(guò)HTTP cookie傳遞到腳本的信息。這些cookie一般是由以前執(zhí)行的PHP腳本通過(guò)PHP函數(shù)setcookie ( ) 設(shè)置的。例如,假設(shè)使用 setcookie ( )存儲(chǔ)了一個(gè)名為 example.com、值為ab2213的cookie。以后就可以通過(guò)調(diào)用$_COOKIE[ ' example.com' ]來(lái)獲得這個(gè)值。
PHP預(yù)定義變量數(shù)組5、$_FILES
$_FILES超級(jí)全局變量包含通過(guò)POST方法向服務(wù)器上傳的數(shù)據(jù)的有關(guān)信息。這個(gè)超級(jí)全局變量與其他的變量有所不同,它是一個(gè)二維數(shù)組,包含5個(gè)元素。***個(gè)下標(biāo)標(biāo)示表單的文件上傳元素名;第二個(gè)下標(biāo)是五個(gè)預(yù)定義下標(biāo)之一,這些下標(biāo)描述了上傳文件的某個(gè)屬性:
$_FILES[ 'upload-name' ][ 'name' ]; 從客戶端向服務(wù)器上傳文件的文件名;
$_FILES[ 'upload-name' ][ 'type' ]; 上傳文件的MIME類型,這個(gè)變量是否賦值取決于瀏覽器的功能。
$_FILES[ 'upload-name' ][ 'size' ]; 上傳文件的大?。ㄒ宰止?jié)為單位);
$_FILES[ 'upload-name' ][ 'tmp_name' ]; 上傳之后,將此文件移到最終位置之前賦予的臨時(shí)名。
$_FILES[ 'upload-name' ][ 'error' ]; 上傳狀態(tài)碼。盡管這個(gè)變量的名為 error ,但實(shí)際上在成功的情況下也會(huì)填寫這個(gè)變量。它有五個(gè)可能的值:
UPLOAD_ERR_OK 文件成功上傳
UPLOAD_ERR_INI_SIZE 文件大小超出了 upload_max_filesize 指令所指定的***值。
UPLOAD_ERR_FORM_SIZE 文件大小超出了MAX_FILE_SIZE 隱藏表單域參數(shù)(可選)指定的***值。
UPLOAD_ERR_PARTIAL 文件只上傳了一部分
UPLOAD_ERR_NO_FILE 上傳表單中沒(méi)有指定文件
PHP預(yù)定義變量數(shù)組6、$_ENV
$_ENV超級(jí)全局變量提供PHP解析所在服務(wù)器環(huán)境的有關(guān)信息。此數(shù)組中的變量包括:
$_ENV[ 'HOSTNAME' ] 服務(wù)器的主機(jī)名
$_ENV[ 'SHELL' ] 系統(tǒng) shell
PHP預(yù)定義變量數(shù)組7、$_REQUEST
$_REQUEST超級(jí)全局變量是一個(gè)全能選手,它記錄了通過(guò)各種方法傳遞給腳本的變量,特別是GET ,POST 和 COOKIE 。 這些變量的順序不依賴于它們?cè)诎l(fā)送腳本中出現(xiàn)的順序,而是依賴于 variables_order 配置指令所指定的順序。建議少用這個(gè)超級(jí)變量,因?yàn)樗粔虬踩?/p>
PHP預(yù)定義變量數(shù)組8、$_SESSION
$_SESSION 超級(jí)全局變量包含與所有會(huì)話有關(guān)的信息。注冊(cè)會(huì)話信息能為你提供便利,這樣就能在整個(gè)網(wǎng)站中引用這些會(huì)話信息,而無(wú)需通過(guò)GET或POST顯示的傳遞數(shù)據(jù)。
PHP預(yù)定義變量數(shù)組9、$GLOBALS
$GLOBALS 超級(jí)全局變量數(shù)組可以認(rèn)為是超級(jí)全局變量的超集,包含全局作用域內(nèi)的所有變量。執(zhí)行下面的代碼可以查看$GLOBALS 中所有的變量。
- print ' <pre>' ;
- print_r ($GLOBALS);
- print ' </pre>' ;