您好,登錄后才能下訂單哦!
本文小編為大家詳細介紹“PHP超級全局變量怎么使用”,內容詳細,步驟清晰,細節處理妥當,希望這篇“PHP超級全局變量怎么使用”文章能幫助大家解決疑惑,下面跟著小編的思路慢慢深入,一起來學習新知識吧。
超級全局變量是一種特殊的變量類型,因為它們可以從任何范圍內訪問。可以從任何文件、類、甚至函數中訪問,而不需要執行任何特殊的代碼段。
超全局變量是內建的和預定義的。程序員可以通過PHP類庫來使用它們。請注意,在類庫中并非所有內置的預定義變量都是超全局變量。
要理解本文的內容,讀者應該具備以下條件。
對 PHP 變量聲明技術有基本了解。
對 PHP 有初步的了解。
超級全局變量是在 PHP 4.1.0 中引入的,此后一直是 PHP 的一個重要組成部分。在PHP中大約有9個超全局變量,有時被稱為automatic globals
。它們如下所述。
$GLOBALS
$_SERVER
$_GET
$_POST
$_REQUEST
$_SESSION
$_COOKIE
$_FILE
$_ENV
讓我們在下面的章節中討論這些超級全局變量。
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'] - 它返回當前正在執行的腳本的文件名。
$_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
中發送的數據。
下面是一個例子,說明如何在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
方法發送,并顯示在URL
。然而,每次最多只能發送2048
字符。
就像$_GET
變量一樣,$_POST
收集來自HTML表單的值。使用這種方法發送的信息不會顯示在URL中。一次可以發送的字符數也沒有限制。
下面是一個例子。
<!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方法對可以發送的數據大小沒有限制。
POST方法可以同時發送ASCII和二進制數據。
POST方法不會在URL上顯示正在發送的信息,因此可以防止建立書簽。
POST方法使用一個HTTP header
來發送數據。這促進了數據安全。
$_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是一個小文件,由服務器存儲在用戶的計算機中。它可以識別用戶。每當向服務器發出請求時。通常會在請求的同時發送一個cookie。PHP 使用setcookie()
函數創建 cookie。
setcookie(cookie_name,cookie_value, expiry, path, domain,secure,httponly)
該語法有許多參數。然而,只有name
參數是必需的。
在創建之后,可以使用超全局$_COOKIE
變量來檢索cookie。下面的代碼顯示了如何創建和檢索一個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'] - 以字節為單位的文件大小。
$_FILES['file']['tmp_name'] - 它指的是在服務器上上傳的存儲文件的臨時文件名。
$_FILE['file']['error']- 文件上傳的相關錯誤代碼。
讀到這里,這篇“PHP超級全局變量怎么使用”文章已經介紹完畢,想要掌握這篇文章的知識點還需要大家自己動手實踐使用過才能領會,如果想了解更多相關內容的文章,歡迎關注億速云行業資訊頻道。
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。