在本 PHP 教程中,您将学习有关 PHP 中超全局变量的所有知识。我们将详细讨论全局变量和各种类型的超全局变量 $GLOBALS、$_SERVER、$_REQUEST、$_POST、$_GET、$_FILES、$_ENV、$_COOKIE、$_SESSION。
在 PHP 中,超全局变量是内置的预定义全局变量。超全局变量可以在整个脚本中找到。这些变量可以从任何函数、类或文件访问,而无需进行任何额外的操作,例如定义任何全局变量等。它们主要用于应用程序中,以便在页面之间存储和检索信息。
1. $GLOBALS
2. $_SERVER
3. $_REQUEST
4. $_GET
5. $_POST
6. $_SESSION
7. $_COOKIE
8. $_FILES
$GLOBALS 在 PHP 中是一个超全局变量,可以在脚本中的任何位置访问。PHP 将所有全局变量存储在 $GLOBALS[] 数组中,其中索引包含可以访问的全局变量的名称。
$x = 15;
$y = 53;
function sum() {
$GLOBALS['z'] = $GLOBALS['x'] + $GLOBALS['y'];
}
sum();
echo $z;
输出
68
$_SERVER 是 PHP 中的一个超全局变量,包含有关标头、路径和脚本位置的信息。其中一些组件用于从全局变量 $_SERVER 中检索数据。
echo $_SERVER['PHP_SELF'];
echo "<br>";
echo $_SERVER['SERVER_NAME'];
echo "<br>";
echo $_SERVER['HTTP_HOST'];
echo "<br>";
echo $_SERVER['HTTP_REFERER'];
echo "<br>";
echo $_SERVER['HTTP_USER_AGENT'];
echo "<br>";
echo $_SERVER['SCRIPT_NAME'];
输出
/files/new/server.php localhost localhost https:///files/new/ Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/96.0.4664.45 Safari/537.36 /files/new/server.php
$_REQUEST 是一个超全局变量,用于在 HTML 表单提交后收集数据。$_REQUEST 很少使用,因为 $_POST 和 $_GET 提供相同的功能并且更常用。
<!DOCTYPE html>
<html>
<body>
<form method="post" action="<?php echo $_SERVER['PHP_SELF'];?>">
Name: <input type="text" name="fName">
<input type="submit">
</form>
<?php
if ($_SERVER["REQUEST_METHOD"] == "POST") {
$name = $_REQUEST['fName'];
if (empty($name)) {
echo "Name field is empty";
} else {
echo " The entered name is $name";
}
}
?>
</body>
</html>
输出

$_GET 是一个超全局变量,用于在 HTML 表单提交后收集数据。当表单使用 get 方法发送数据时,数据将包含在查询字符串中,因此值不会被隐藏。超全局数组变量 $_GET 包含通过 URL 传递的值。
<!DOCTYPE html>
<html>
<body>
<form method="get" action="getsup.php">
Name: <input type="text" name="fName">
<input type="submit" name="submit">
</form>
<?php
if (isset($_GET['submit'])) {
$name = $_GET['fName'];
echo " The entered name is $name";
}
?>
</body>
</html>
输出
$_POST 是一个超全局变量,用于在 HTML 表单提交后收集数据。由于当表单使用 post 方法传输数据时,数据不可在查询字符串中访问,因此以这种方式维护了安全标准。
<!DOCTYPE html>
<html>
<body>
<form method="post">
Name: <input type="text" name="fName">
<input type="submit" name="submit">
</form>
<?php
if (isset($_POST['submit'])) {
$name = $_POST['fName'];
echo " The entered name is $name";
}
?>
</body>
</html>
输出
$_SESSION 变量是 PHP 中的一个超全局变量,它在用户访问网站时(从打开到关闭)保留和提供有关用户的信息。每当有人访问网站时,都会启动一个会话。会话中的值可以在网站的多个页面中访问。
要开始一个会话,我们使用函数 session_start()
要结束一个会话,我们使用函数 session_destroy()
Cookie 是服务器放在用户计算机上的一个小型文件。它标识了用户的身份。每当发出服务器请求时。通常,Cookie 会随请求一起发送。PHP 中的 `setcookie()` 函数用于创建 Cookie。
<?php
$cookie_name = "username";
$cookie_value = "John";
setcookie($cookie_name, $cookie_value, time()+(86400*30),"/");
?>
输出
$_FILES 是 PHP 中的一个变量,用于存储通过 HTTP POST 方法上传的对象。该数组的键是上传文件的字段名称和访问数据。例如,$_FILES[fileUploaded][name] 从上传的文件属性中获取正在上传的文件的名称。
$_FILES 包含多个元素,如下所示