服务器端脚本语言——PHP 超级全局变量
warning:
这篇文章距离上次修改已过201天,其中的内容可能已经有所变动。
在PHP中,超级全局变量(Superglobals)是预定义的变量,它们是在脚本的全部作用域内都可用的特殊变量。PHP超全局变量包含了如$\_GET、$\_POST、$\_SERVER等,它们可以用来获取不同类型的输入和环境数据。
以下是一些常见的PHP超全局变量及其用法的示例:
$_GET
:通过URL参数访问页面时传递的值。
// URL: http://example.com?name=John
echo $_GET['name']; // 输出 John
$_POST
:通过POST方法传递的数据。
echo $_POST['username']; // 输出用户输入的用户名
$_SERVER
:服务器和执行脚本的环境信息。
echo $_SERVER['HTTP_HOST']; // 输出当前请求的主机名
$_FILES
:通过文件上传方法传递的数据。
echo $_FILES['file']['name']; // 输出上传文件的名称
$_COOKIE
:通过HTTP Cookies传递的数据。
echo $_COOKIE['user']; // 输出用户的cookie
$_SESSION
:当前脚本的会话变量。
echo $_SESSION['loggedin']; // 输出用户的登录状态
$_REQUEST
:包含$\_GET、$\_POST和$\_COOKIE的数据。
echo $_REQUEST['name']; // 输出 GET、POST 或 COOKIE 中的 'name' 值
$_ENV
:环境变量。
echo $_ENV['PATH']; // 输出环境变量 PATH
$GLOBALS
:引用全局作用域中可用的所有变量。
function test() {
$x = 100;
}
test();
echo $GLOBALS['x']; // 输出 100
$_
:上次执行的表达式的值。
$x = 10 * 10;
echo $_; // 输出 100
请注意,在使用超全局变量时应该小心,因为它们可能会带来安全风险,如跨站脚本攻击(XSS)。在输出这些变量之前,应始终对其进行适当的过滤和清理,或使用适当的函数(如htmlspecialchars()对HTML进行编码或mysqli\_real\_escape\_string()进行数据库转义)以确保输出的安全性。
评论已关闭