本文小編為大家詳細(xì)介紹“PHP超級(jí)全局變量怎么使用”,內(nèi)容詳細(xì),步驟清晰,細(xì)節(jié)處理妥當(dāng),希望這篇“PHP超級(jí)全局變量怎么使用”文章能幫助大家解決疑惑,下面跟著小編的思路慢慢深入,一起來(lái)學(xué)習(xí)新知識(shí)吧。
創(chuàng)新互聯(lián)長(zhǎng)期為近千家客戶提供的網(wǎng)站建設(shè)服務(wù),團(tuán)隊(duì)從業(yè)經(jīng)驗(yàn)10年,關(guān)注不同地域、不同群體,并針對(duì)不同對(duì)象提供差異化的產(chǎn)品和服務(wù);打造開(kāi)放共贏平臺(tái),與合作伙伴共同營(yíng)造健康的互聯(lián)網(wǎng)生態(tài)環(huán)境。為湘陰企業(yè)提供專(zhuān)業(yè)的成都做網(wǎng)站、成都網(wǎng)站制作,湘陰網(wǎng)站改版等技術(shù)服務(wù)。擁有10年豐富建站經(jīng)驗(yàn)和眾多成功案例,為您定制開(kāi)發(fā)。
超級(jí)全局變量是一種特殊的變量類(lèi)型,因?yàn)樗鼈兛梢詮娜魏畏秶鷥?nèi)訪問(wèn)??梢詮娜魏挝募㈩?lèi)、甚至函數(shù)中訪問(wèn),而不需要執(zhí)行任何特殊的代碼段。
超全局變量是內(nèi)建的和預(yù)定義的。程序員可以通過(guò)PHP類(lèi)庫(kù)來(lái)使用它們。請(qǐng)注意,在類(lèi)庫(kù)中并非所有內(nèi)置的預(yù)定義變量都是超全局變量。
要理解本文的內(nèi)容,讀者應(yīng)該具備以下條件。
對(duì) PHP 變量聲明技術(shù)有基本了解。
對(duì) PHP 有初步的了解。
超級(jí)全局變量是在 PHP 4.1.0 中引入的,此后一直是 PHP 的一個(gè)重要組成部分。在PHP中大約有9個(gè)超全局變量,有時(shí)被稱(chēng)為automatic globals
。它們?nèi)缦滤觥?/p>
$GLOBALS
$_SERVER
$_GET
$_POST
$_REQUEST
$_SESSION
$_COOKIE
$_FILE
$_ENV
讓我們?cè)谙旅娴恼鹿?jié)中討論這些超級(jí)全局變量。
GLOBALS是一個(gè)PHP變量,用于訪問(wèn)PHP腳本中的其他全局變量。所有的PHP全局變量都保存在一個(gè)稱(chēng)為‘GLOBALS[index] 的數(shù)組中。
index 中保存著
variable name` 。
下面是一個(gè)使用超全局變量$GLOBAL
的例子:)
<!doctype html>
<html>
<head>
<title>GLOBAL example</title>
</head>
<body>
<?php
//php Script
// Varriable declaration
$a = 5;
$b = 6;
function multiplication(){
$GLOBALS['c'] = $GLOBALS['a']* $GLOBALS['b'];
}
multiplication();
echo $c;
?>
</body>
</html>
在上面的例子中,變量$c
在函數(shù)內(nèi)部和外部都可以訪問(wèn),因?yàn)樗?code>$GLOBALS 數(shù)組中。
$_SERVER
是一個(gè)超全局變量,用于保存PHP腳本的信息頭、路徑和位置。 變量有幾個(gè)元素被保存。它們包括$_SERVER
$_SERVER['PHP_SELF'] - 它返回當(dāng)前正在執(zhí)行的腳本的文件名。
$_SERVER['SERVER_NAME'] - 這返回托管網(wǎng)站的服務(wù)器的名稱(chēng)。
$_SERVER['HTTP_HOST'] - 這將返回當(dāng)前請(qǐng)求的主機(jī)頭。
$_SERVER['SCRIPT_NAME'] - 這返回當(dāng)前腳本的路徑。
下面是一個(gè)顯示如何使用上述元素的示例代碼。
<!doctype html>
<html>
<head>
<title> $_SERVER example</title>
</head>
<body>
<?php
// PHP script
echo $_SERVER['PHP_SELF'];
echo "<br>";
echo $_SERVER['SERVER_NAME'];
echo "<br>";
echo $_SERVER['HTTP_HOST'];
echo "<br>";
echo $_SERVER['SCRIPT_NAME'];
?>
</body>
</html>
上述代碼的輸出將包括。
一個(gè)文件名。
主機(jī)服務(wù)器的名稱(chēng)。
主機(jī)當(dāng)前請(qǐng)求的標(biāo)題。
當(dāng)前腳本的路徑。
$_GET
變量是一個(gè)PHP超全局變量,用于收集HTML表單提交后的數(shù)據(jù)。HTML表單的結(jié)構(gòu)是這樣的:$_GET
作為一個(gè)方法。$_GET
也可以用來(lái)檢索在uniform resource locator
中發(fā)送的數(shù)據(jù)。
下面是一個(gè)例子,說(shuō)明如何在HTML表單中實(shí)現(xiàn)$_GET
變量。
<!doctype html>
<html>
<head>
<title>$_GET example</title>
</head>
<body>
<!-- html form -->
<form action="" method="GET">
<label>Name</label>
<input type="text" name="Name">
<label>Email</label>
<input type="text" name="Email">
<button>Submit</button>
</form>
</body>
</html>
當(dāng)用戶點(diǎn)擊Submit
按鈕時(shí),表單中的信息會(huì)用GET
方法發(fā)送,并顯示在URL
。然而,每次最多只能發(fā)送2048
字符。
就像$_GET
變量一樣,$_POST
收集來(lái)自HTML表單的值。使用這種方法發(fā)送的信息不會(huì)顯示在URL中。一次可以發(fā)送的字符數(shù)也沒(méi)有限制。
下面是一個(gè)例子。
<!doctype html>
<html>
<head>
<title>$_POST example</title>
</head>
<body>
<!-- html form -->
<form action="" method="POST">
<label>Name</label>
<input type="text" name="Name">
<label>Email</label>
<input type="text" name="Email">
<button>Submit</button>
</form>
</body>
</html>
盡管POST
和GET
方法實(shí)現(xiàn)了相同的功能,但由于以下原因,POST
更受青睞。
POST方法對(duì)可以發(fā)送的數(shù)據(jù)大小沒(méi)有限制。
POST方法可以同時(shí)發(fā)送ASCII和二進(jìn)制數(shù)據(jù)。
POST方法不會(huì)在URL上顯示正在發(fā)送的信息,因此可以防止建立書(shū)簽。
POST方法使用一個(gè)HTTP header
來(lái)發(fā)送數(shù)據(jù)。這促進(jìn)了數(shù)據(jù)安全。
$_REQUEST
變量是一個(gè)PHP超全局,用于在提交表單后收集數(shù)據(jù)。它包含了$_GET
,$_POST
,甚至默認(rèn)的$_COOKIE
的內(nèi)容。各個(gè)字段的數(shù)據(jù)可以由PHP使用$_REQUEST
變量來(lái)收集。
下面的例子顯示了如何使用$_REQUEST
這個(gè)變量。
<!doctype html>
<html>
<head>
<title>$_REQUEST example</title>
</head>
<body>
<form action="<?php echo $_SERVER['PHP_SELF'];?>" method="POST">
<label>Name</label>
<input type="text" myname="Name">
<button>Submit</button>
</form>
<?php
if($_SERVER["REQUEST_METHOD"]=="POST"){
$name = $_REQUEST['myname'];
if(!empty($myname))
{
echo $myname;
}else{
echo "Empty name";
}
}
?>
</body>
</html>
上述代碼的輸出將是表單中已提交的name
。如果沒(méi)有提交名字,它將打印一個(gè)信息Empty name
。
$_SESSION
變量是一個(gè)PHP的超級(jí)全局,它可以在用戶每次打開(kāi)網(wǎng)站時(shí)存儲(chǔ)和利用有關(guān)網(wǎng)站用戶的信息,直到網(wǎng)站關(guān)閉。
每次用戶訪問(wèn)網(wǎng)站時(shí),都會(huì)啟動(dòng)一個(gè)會(huì)話。下面的函數(shù)被用來(lái)在PHP代碼中啟動(dòng)一個(gè)會(huì)話。
session_start()
會(huì)話開(kāi)始后,需要使用$_SESSION
變量進(jìn)行設(shè)置。
當(dāng)用戶離開(kāi)一個(gè)網(wǎng)站時(shí),會(huì)話被自動(dòng)銷(xiāo)毀。這是在用戶不知情的情況下使用下面的PHP函數(shù)完成的。
session_destroy()
下面的例子演示了$_SESSION
的使用。
<? php
session_start();
?>
<!doctype html>
<html>
<head>
<title>$_SESSION demonstration code</title>
</head>
<body>
<?php
//Set session varriables
$_SESSION["name"]="Mackrine";
$_SESSION["favcolor"]="Blue";
echo "session varriables are set";
?>
</body>
</html>
Cookie是一個(gè)小文件,由服務(wù)器存儲(chǔ)在用戶的計(jì)算機(jī)中。它可以識(shí)別用戶。每當(dāng)向服務(wù)器發(fā)出請(qǐng)求時(shí)。通常會(huì)在請(qǐng)求的同時(shí)發(fā)送一個(gè)cookie。PHP 使用setcookie()
函數(shù)創(chuàng)建 cookie。
setcookie(cookie_name,cookie_value, expiry, path, domain,secure,httponly)
該語(yǔ)法有許多參數(shù)。然而,只有name
參數(shù)是必需的。
在創(chuàng)建之后,可以使用超全局$_COOKIE
變量來(lái)檢索cookie。下面的代碼顯示了如何創(chuàng)建和檢索一個(gè)cookie。
<?php
$cookie_name = "uname";
$cookie_value = "Mackrine";
//setting cookie
setcookie($cookie_name, $cookie_value, time()+(86400*30),"/");
?>
<!doctype html>
<html>
<body>
<?php
if(isset($_COOKIE[$cookie_name]))
{
echo "Cookie name:" .$cookie_name;
echo "<br>";
echo "Cookie value:" .$cookie_value;
}
else
{
echo $cookie_name. " is not set!";
}
?>
</body>
</html>
只有在過(guò)期的情況下,才可以使用setcookie()
函數(shù)刪除cookie。
$_FILES
是一個(gè)變量,包含使用HTTPPOST方法上傳的項(xiàng)目。 數(shù)組包含幾個(gè)元素,如下所述。$_FILES
$_FILES['file']['name'] - 這通常是要上傳的文件的原始名稱(chēng)。
$_FILES['file']['type'] - 這是指被上傳文件的類(lèi)型。
$_FILES['file']['size'] - 以字節(jié)為單位的文件大小。
$_FILES['file']['tmp_name'] - 它指的是在服務(wù)器上上傳的存儲(chǔ)文件的臨時(shí)文件名。
$_FILE['file']['error']- 文件上傳的相關(guān)錯(cuò)誤代碼。
讀到這里,這篇“PHP超級(jí)全局變量怎么使用”文章已經(jīng)介紹完畢,想要掌握這篇文章的知識(shí)點(diǎn)還需要大家自己動(dòng)手實(shí)踐使用過(guò)才能領(lǐng)會(huì),如果想了解更多相關(guān)內(nèi)容的文章,歡迎關(guān)注創(chuàng)新互聯(lián)行業(yè)資訊頻道。
網(wǎng)站標(biāo)題:PHP超級(jí)全局變量怎么使用
網(wǎng)址分享:http://muchs.cn/article2/ppjjic.html
成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供自適應(yīng)網(wǎng)站、定制開(kāi)發(fā)、網(wǎng)站內(nèi)鏈、云服務(wù)器、網(wǎng)站導(dǎo)航、網(wǎng)站改版
聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請(qǐng)盡快告知,我們將會(huì)在第一時(shí)間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如需處理請(qǐng)聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來(lái)源: 創(chuàng)新互聯(lián)