目录

  1. PHP 超级全局变量概述
  2. 常见的超级全局变量
  3. 参考资料与出站链接

PHP 超级全局变量概述

PHP 超级全局变量是指内置的全局数组,它们在 PHP 脚本中是始终可用的。无论在函数、类或文件中,它们都可以被访问,并且可以在整个 PHP 脚本中共享数据。超级全局变量在处理用户输入、会话管理、文件上传等方面起着至关重要的作用。

PHP 提供了多个超级全局变量,用于获取来自不同来源的数据,例如表单提交数据、HTTP请求头、上传的文件、会话数据等。


常见的超级全局变量

$GLOBALS

$GLOBALS 是一个 PHP 超级全局变量,用于访问全局作用域中的变量。它是一个关联数组,其中存储了所有全局作用域中的变量。通过 $GLOBALS,你可以在函数内访问或修改全局变量。

示例:

<?php
$x = 10;  // 全局变量
function test() {
    $GLOBALS['x'] = 20;  // 修改全局变量
}
test();
echo $x;  // 输出:20
?>

$_SERVER

$_SERVER 是一个包含服务器和执行环境信息的超级全局变量。它是一个关联数组,包含了关于当前请求的各种信息,比如服务器的环境变量、请求头信息、路径、脚本名等。

示例:

<?php
echo $_SERVER['SERVER_NAME'];  // 输出服务器的域名
echo $_SERVER['REQUEST_METHOD'];  // 输出请求方法 (GET, POST等)
?>

$_REQUEST

$_REQUEST 是一个包含来自表单、URL 查询字符串以及 Cookies 中的数据的超级全局变量。它可以用来接收用户通过 GET、POST 或 COOKIE 方法提交的数据。

示例:

<?php
// 假设 HTML 表单提交的数据如下
// <form method="post" action="process.php">
//    <input type="text" name="name">
//    <input type="submit">
// </form>
echo $_REQUEST['name'];  // 输出提交的表单数据
?>

$_POST

$_POST 是一个用于获取通过 HTTP POST 方法提交的数据的超级全局变量。它是一个关联数组,用来接收表单中的数据(特别是大的数据量或文件上传时)提交的数据。

示例:

<?php
// 假设 HTML 表单提交的数据如下
// <form method="post" action="process.php">
//    <input type="text" name="username">
//    <input type="submit">
// </form>
echo $_POST['username'];  // 输出通过 POST 提交的用户名
?>

$_GET

$_GET 是一个用于获取通过 URL 查询字符串(GET 请求)提交的数据的超级全局变量。它是一个关联数组,包含了通过 URL 提交的数据。

示例:

<?php
// 假设访问的 URL 为: example.php?name=John&age=25
echo $_GET['name'];  // 输出:John
echo $_GET['age'];   // 输出:25
?>

$_FILES

$_FILES 是一个用于获取通过 HTTP 文件上传的文件信息的超级全局变量。它是一个多维数组,包含了文件上传的所有信息,如文件的名称、类型、大小和临时存储路径。

示例:

<?php
// 假设 HTML 表单上传文件如下
// <form method="post" enctype="multipart/form-data" action="upload.php">
//    <input type="file" name="fileToUpload">
//    <input type="submit">
// </form>

if ($_FILES['fileToUpload']['error'] == UPLOAD_ERR_OK) {
    echo "文件上传成功,文件名:" . $_FILES['fileToUpload']['name'];
}
?>

$_ENV

$_ENV 是一个包含环境变量的超级全局变量。环境变量是操作系统或服务器提供的信息,例如当前的工作目录、PHP配置等。

示例:

<?php
echo $_ENV['PATH'];  // 输出环境变量 PATH
?>

$_COOKIE

$_COOKIE 是一个用于访问用户存储在浏览器中的 Cookie 数据的超级全局变量。它是一个关联数组,存储了由服务器发送到客户端的所有 Cookies。

示例:

<?php
// 设置 cookie
setcookie("user", "John", time() + 3600, "/");  // 设置 cookie 有效期为 1 小时
// 获取 cookie
echo $_COOKIE['user'];  // 输出:John
?>

$_SESSION

$_SESSION 是一个用于管理用户会话的超级全局变量。它是一个关联数组,用于存储与用户会话相关的数据,数据会在用户访问网站时持续存在,直到会话结束或会话数据被销毁。

示例:

<?php
// 开始会话
session_start();
// 设置 session 数据
$_SESSION['username'] = 'John';
// 获取 session 数据
echo $_SESSION['username'];  // 输出:John
?>


参考资料与出站链接


PHP 超级全局变量是开发 Web 应用时不可或缺的一部分,它们为我们提供了访问用户输入、服务器信息、会话数据、上传文件等多种功能。理解并掌握这些全局变量,可以大大提高 Web 开发的效率和灵活性。