本文小編為大家詳細介紹“PHP超級全局變量怎么使用”,內容詳細,步驟清晰,細節(jié)處理妥當,希望這篇“PHP超級全局變量怎么使用”文章能幫助大家解決疑惑,下面跟著小編的思路慢慢深入,一起來學習新知識吧。
創(chuàng)新互聯長期為近千家客戶提供的網站建設服務,團隊從業(yè)經驗10年,關注不同地域、不同群體,并針對不同對象提供差異化的產品和服務;打造開放共贏平臺,與合作伙伴共同營造健康的互聯網生態(tài)環(huán)境。為湘陰企業(yè)提供專業(yè)的成都做網站、成都網站制作,湘陰網站改版等技術服務。擁有10年豐富建站經驗和眾多成功案例,為您定制開發(fā)。
超級全局變量是一種特殊的變量類型,因為它們可以從任何范圍內訪問。可以從任何文件、類、甚至函數中訪問,而不需要執(zhí)行任何特殊的代碼段。
超全局變量是內建的和預定義的。程序員可以通過PHP類庫來使用它們。請注意,在類庫中并非所有內置的預定義變量都是超全局變量。
要理解本文的內容,讀者應該具備以下條件。
對 PHP 變量聲明技術有基本了解。
對 PHP 有初步的了解。
超級全局變量是在 PHP 4.1.0 中引入的,此后一直是 PHP 的一個重要組成部分。在PHP中大約有9個超全局變量,有時被稱為automatic globals
。它們如下所述。
$GLOBALS
$_SERVER
$_GET
$_POST
$_REQUEST
$_SESSION
$_COOKIE
$_FILE
$_ENV
讓我們在下面的章節(jié)中討論這些超級全局變量。
GLOBALS是一個PHP變量,用于訪問PHP腳本中的其他全局變量。所有的PHP全局變量都保存在一個稱為‘GLOBALS[index] 的數組中。
index 中保存著
variable name` 。
下面是一個使用超全局變量$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
在函數內部和外部都可以訪問,因為它在$GLOBALS
數組中。
$_SERVER
是一個超全局變量,用于保存PHP腳本的信息頭、路徑和位置。 變量有幾個元素被保存。它們包括$_SERVER
$_SERVER['PHP_SELF'] - 它返回當前正在執(zhí)行的腳本的文件名。
$_SERVER['SERVER_NAME'] - 這返回托管網站的服務器的名稱。
$_SERVER['HTTP_HOST'] - 這將返回當前請求的主機頭。
$_SERVER['SCRIPT_NAME'] - 這返回當前腳本的路徑。
下面是一個顯示如何使用上述元素的示例代碼。
<!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>
上述代碼的輸出將包括。
一個文件名。
主機服務器的名稱。
主機當前請求的標題。
當前腳本的路徑。
$_GET
變量是一個PHP超全局變量,用于收集HTML表單提交后的數據。HTML表單的結構是這樣的:$_GET
作為一個方法。$_GET
也可以用來檢索在uniform resource locator
中發(fā)送的數據。
下面是一個例子,說明如何在HTML表單中實現$_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>
當用戶點擊Submit
按鈕時,表單中的信息會用GET
方法發(fā)送,并顯示在URL
。然而,每次最多只能發(fā)送2048
字符。
就像$_GET
變量一樣,$_POST
收集來自HTML表單的值。使用這種方法發(fā)送的信息不會顯示在URL中。一次可以發(fā)送的字符數也沒有限制。
下面是一個例子。
<!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
方法實現了相同的功能,但由于以下原因,POST
更受青睞。
POST方法對可以發(fā)送的數據大小沒有限制。
POST方法可以同時發(fā)送ASCII和二進制數據。
POST方法不會在URL上顯示正在發(fā)送的信息,因此可以防止建立書簽。
POST方法使用一個HTTP header
來發(fā)送數據。這促進了數據安全。
$_REQUEST
變量是一個PHP超全局,用于在提交表單后收集數據。它包含了$_GET
,$_POST
,甚至默認的$_COOKIE
的內容。各個字段的數據可以由PHP使用$_REQUEST
變量來收集。
下面的例子顯示了如何使用$_REQUEST
這個變量。
<!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
。如果沒有提交名字,它將打印一個信息Empty name
。
$_SESSION
變量是一個PHP的超級全局,它可以在用戶每次打開網站時存儲和利用有關網站用戶的信息,直到網站關閉。
每次用戶訪問網站時,都會啟動一個會話。下面的函數被用來在PHP代碼中啟動一個會話。
session_start()
會話開始后,需要使用$_SESSION
變量進行設置。
當用戶離開一個網站時,會話被自動銷毀。這是在用戶不知情的情況下使用下面的PHP函數完成的。
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是一個小文件,由服務器存儲在用戶的計算機中。它可以識別用戶。每當向服務器發(fā)出請求時。通常會在請求的同時發(fā)送一個cookie。PHP 使用setcookie()
函數創(chuàng)建 cookie。
setcookie(cookie_name,cookie_value, expiry, path, domain,secure,httponly)
該語法有許多參數。然而,只有name
參數是必需的。
在創(chuàng)建之后,可以使用超全局$_COOKIE
變量來檢索cookie。下面的代碼顯示了如何創(chuàng)建和檢索一個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>
只有在過期的情況下,才可以使用setcookie()
函數刪除cookie。
$_FILES
是一個變量,包含使用HTTPPOST方法上傳的項目。 數組包含幾個元素,如下所述。$_FILES
$_FILES['file']['name'] - 這通常是要上傳的文件的原始名稱。
$_FILES['file']['type'] - 這是指被上傳文件的類型。
$_FILES['file']['size'] - 以字節(jié)為單位的文件大小。
$_FILES['file']['tmp_name'] - 它指的是在服務器上上傳的存儲文件的臨時文件名。
$_FILE['file']['error']- 文件上傳的相關錯誤代碼。
讀到這里,這篇“PHP超級全局變量怎么使用”文章已經介紹完畢,想要掌握這篇文章的知識點還需要大家自己動手實踐使用過才能領會,如果想了解更多相關內容的文章,歡迎關注創(chuàng)新互聯行業(yè)資訊頻道。
網站標題:PHP超級全局變量怎么使用
網址分享:http://jinyejixie.com/article2/ppjjic.html
成都網站建設公司_創(chuàng)新互聯,為您提供自適應網站、定制開發(fā)、網站內鏈、云服務器、網站導航、網站改版
聲明:本網站發(fā)布的內容(圖片、視頻和文字)以用戶投稿、用戶轉載內容為主,如果涉及侵權請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網站立場,如需處理請聯系客服。電話:028-86922220;郵箱:631063699@qq.com。內容未經允許不得轉載,或轉載時需注明來源: 創(chuàng)新互聯