PHP中預(yù)定義了幾個(gè)超級(jí)全局變量(superglobals) 愉阎,這意味著它們?cè)谝粋€(gè)腳本的全部作用域中都可用择克。 你不需要特別說明宾毒,就可以在函數(shù)及類中使用幻捏。
PHP 超級(jí)全局變量列表:
1. $_GET –> get 傳送方式
2. $_POST –> post 傳送方式
3. $_REQUEST –> 可以接收到 get 和 post 兩種方式的值
4. $GLOBALS –> 引用全局作用域中可用的全部變量
5. $_FILES –> 上傳文件使用
6. $_SERVER –> 系統(tǒng)環(huán)境變量
7. $_SESSION –> 用于會(huì)話控制
8. $_COOKIE –> 用于會(huì)話控制
9. $_ENV –> 服務(wù)器端環(huán)境變量
PHP $GLOBALS
$GLOBALS 是PHP的一個(gè)超級(jí)全局變量組盆犁,在一個(gè)PHP腳本的全部作用域中都可以訪問。
$GLOBALS 是一個(gè)包含了全部變量的全局組合數(shù)組篡九。變量的名字就是數(shù)組的鍵谐岁。
<?php
$x = 75;
$y = 25;
function addition()
{
$GLOBALS['z'] = $GLOBALS['x'] + $GLOBALS['y'];
}
addition();
echo $z;
?>
PHP $_SERVER
$_SERVER 是一個(gè)包含了諸如頭信息(header)、路徑(path)榛臼、以及腳本位置(script locations)等等信息的數(shù)組伊佃。這個(gè)數(shù)組中的項(xiàng)目由 Web 服務(wù)器創(chuàng)建。不能保證每個(gè)服務(wù)器都提供全部項(xiàng)目沛善;服務(wù)器可能會(huì)忽略一些航揉,或者提供一些沒有在這里列舉出來的項(xiàng)目。
PHP $_REQUEST
HP $_REQUEST 用于收集HTML表單提交的數(shù)據(jù)金刁。
PHP $_POST
PHP $_POST 被廣泛應(yīng)用于收集表單數(shù)據(jù)帅涂,在HTML form標(biāo)簽的指定該屬性:"method="post"。
PHP $_GET
PHP $_GET 同樣被廣泛應(yīng)用于收集表單數(shù)據(jù)尤蛮,在HTML form標(biāo)簽的指定該屬性:"method="get"媳友。
$_GET 也可以收集URL中發(fā)送的數(shù)據(jù)。
$_GET抵屿、$_POST 和 $_REQUEST 的區(qū)別庆锦?
$_GET 變量接受所有以 **get** 方式發(fā)送的請(qǐng)求,及瀏覽器地址欄中的 ? 之后的內(nèi)容轧葛。
$_POST 變量接受所有以 post 方式發(fā)送的請(qǐng)求搂抒,例如艇搀,一個(gè) form 以 **method=post** 提交,提交后 php 會(huì)處理 post 過來的全部變量求晶。
$_REQUEST 支持兩種方式發(fā)送過來的請(qǐng)求焰雕,即 **post** 和 **get** 它都可以接受,顯示不顯示要看傳遞方法芳杏,get 會(huì)顯示在 url 中(有字符數(shù)限制)矩屁,post 不會(huì)在 url 中顯示,可以傳遞任意多的數(shù)據(jù)(只要服務(wù)器支持)爵赵。
PHP $_SESSION
PHP session 變量用于存儲(chǔ)有關(guān)用戶會(huì)話的信息吝秕,或更改用戶會(huì)話的設(shè)置。Session 變量保存的信息是單一用戶的空幻,并且可供應(yīng)用程序中的所有頁(yè)面使用烁峭。
◆當(dāng)您運(yùn)行一個(gè)應(yīng)用程序時(shí),您會(huì)打開它秕铛,做些更改约郁,然后關(guān)閉它。這很像一次會(huì)話但两。計(jì)算機(jī)清楚你是誰(shuí)鬓梅。它知道你何時(shí)啟動(dòng)應(yīng)用程序,并在何時(shí)終止谨湘。但是在因特網(wǎng)上绽快,存在一個(gè)問題:服務(wù)器不知道你是誰(shuí)以及你做什么,這是由于 HTTP 地址不能維持狀態(tài)悲关。
◆ 通過在服務(wù)器上存儲(chǔ)用戶信息以便隨后使用谎僻,PHP session 解決了這個(gè)問題(比如用戶名稱娄柳、購(gòu)買商品等)寓辱。不過,會(huì)話信息是臨時(shí)的赤拒,在用戶離開網(wǎng)站后將被刪除秫筏。如果您需要永久儲(chǔ)存信息,可以把數(shù)據(jù)存儲(chǔ)在數(shù)據(jù)庫(kù)中挎挖。
◆Session 的工作機(jī)制是:為每個(gè)訪問者創(chuàng)建一個(gè)唯一的 id (UID)这敬,并基于這個(gè) UID 來存儲(chǔ)變量。UID 存儲(chǔ)在 cookie 中蕉朵,亦或通過 URL 進(jìn)行傳導(dǎo)崔涂。
PHP $_COOKIE
cookie 常用于識(shí)別用戶。cookie 是服務(wù)器留在用戶計(jì)算機(jī)中的小文件始衅。每當(dāng)相同的計(jì)算機(jī)通過瀏覽器請(qǐng)求頁(yè)面時(shí)冷蚂,它同時(shí)會(huì)發(fā)送 cookie缭保。通過 PHP,您能夠創(chuàng)建并取回 cookie 的值蝙茶。
PHP $_ENV
PHP中的$_ENV是一個(gè)包含服務(wù)器端環(huán)境變量的數(shù)組艺骂,不同系統(tǒng)不完全一樣。
部分變量示例:
$_ENV[ ‘HOSTNAME’ ] 服務(wù)器的主機(jī)名
$_ENV[ ‘SHELL’ ] 系統(tǒng) shell