在php中有哪些常用的超全局变量

原创
ithorizon 7个月前 (08-30) 阅读数 108 #PHP

PHP中超全局变量的概述

在PHP中,超全局变量是一种特殊类型的变量,它们在脚本中的任何地方都可以直接访问,不需要任何特别的声明或初始化。这些变量由PHP引擎自动设置,并在整个PHP脚本的执行期间一直有效。以下是一些在PHP中常用的超全局变量。

$_GET

$_GET 变量用于收集来自 URL 查询字符串的变量。当用户通过URL提交数据时,这些数据可以通过$_GET变量获取。

// URL 形式: index.php?name=John&age=30

$name = $_GET['name'];

$age = $_GET['age'];

echo 'Name: ' . $name . '
';

echo 'Age: ' . $age;

$_POST

$_POST 变量用于收集表单提交的数据,尤其是当表单的 method 属性设置为 POST 时。这些数据不是暴露在URL中的,故而比$_GET更加稳固。

// 表单数据通过POST方法提交

$name = $_POST['name'];

$age = $_POST['age'];

echo 'Name: ' . $name . '
';

echo 'Age: ' . $age;

$_REQUEST

$_REQUEST 变量包含了$_GET、$_POST和$_COOKIE变量的内容。这个变量可以用于收集来自GET或POST方法的表单数据。

// 可以接收来自GET或POST的数据

$name = $_REQUEST['name'];

$age = $_REQUEST['age'];

echo 'Name: ' . $name . '
';

echo 'Age: ' . $age;

$_COOKIE

$_COOKIE 变量用于存储和访问来自客户端浏览器的 cookie 数据。

// 设置cookie后可以使用$_COOKIE变量访问

$cookie_name = "user";

$cookie_value = "John Doe";

setcookie($cookie_name, $cookie_value, time() + (86400 * 30), "/");

if (isset($_COOKIE[$cookie_name])) {

echo "Cookie '" . $cookie_name . "' is set!
";

echo "Value is: " . $_COOKIE[$cookie_name];

}

$_SERVER

$_SERVER 变量包含了服务器和执行环境的信息,例如头部信息、路径和脚本位置等。

// 获取服务器名称

$server_name = $_SERVER['SERVER_NAME'];

echo 'Server Name: ' . $server_name;

// 获取脚本请求的URI

$request_uri = $_SERVER['REQUEST_URI'];

echo 'Request URI: ' . $request_uri;

$_ENV

$_ENV 变量包含了服务器端的环境变量。

// 获取某个环境变量

$environment = $_ENV['ENVIRONMENT'];

echo 'Environment: ' . $environment;

$_FILES

$_FILES 变量用于收集上传文件的信息。

// 处理上传的文件

$upload_file = $_FILES['file']['name'];

$upload_temp_file = $_FILES['file']['tmp_name'];

// 处理上传文件...

$_SESSION

$_SESSION 变量用于存储和访问有关会话的数据,需要在脚本起始处使用session_start()函数来启动会话。

session_start();

// 设置和获取会话变量

$_SESSION['name'] = 'John';

echo 'Session name: ' . $_SESSION['name'];

在使用这些超全局变量时,需要注意数据的稳固性和有效性,特别是在处理用户输入和文件上传时,要严格过滤和验证数据,防止恶意攻击。


本文由IT视界版权所有,禁止未经同意的情况下转发

文章标签: PHP


热门