php超全局变量有9个,分别为:“$GLOBALS”、“$_SERVER”、“$_GET”、“$_POST”、“$_FILES”、“$_COOKIE”、“$_SESSION”、“$_REQUEST”、“$_ENV”。
本教程操作环境:windows7系统、PHP7.1版,DELL G3电脑 PHP 中的许多预定义变量都是“超全局的”,这意味着它们在一个脚本的全部作用域中都可用。在函数或方法中无需执行 这些超全局变量是:
1. $_GET –> get 传送方式
例如访问URL链接: http://localhost/test_get.php?subject=PHP&web=W3school.com.cn 使用方式如下: <html>
<body>
<?php
echo "Study " . $_GET['subject'] . " at " . $_GET['web'];
?>
</body>
</html>2. $_POST –> post 传送方式
下面的例子展示了一个包含输入字段和提交按钮的表单。当用户点击提交按钮来提交数据后,表单数据会发送到 <form> 标签的 action 属性中指定的文件。在本例中,我们指定文件本身来处理表单数据。如果您希望使用另一个 PHP 页面来处理表单数据,请用更改为您选择的文件名。然后,我们可以使用超全局变量 $_POST 来收集输入字段的值: <html>
<body>
<form method="post" action="<?php echo $_SERVER['PHP_SELF'];?>">
Name: <input type="text" name="fname">
<input type="submit">
</form>
<?php
$name = $_POST['fname'];
echo $name;
?>
</body>
</html>3. $_REQUEST –> 可以接收到 get 和 post 两种方式的值
下面的例子展示了一个包含输入字段及提交按钮的表单。当用户通过点击提交按钮来提交表单数据时, 表单数据将发送到 标签的 action 属性中指定的脚本文件。在这个例子中,我们指定文件本身来处理表单数据。如果您需要使用其他的 PHP 文件来处理表单数据,请修改为您选择的文件名即可。然后,我们可以使用超级全局变量 $_REQUEST 来收集 input 字段的值: <html>
<body>
<form method="post" action="<?php echo $_SERVER['PHP_SELF'];?>">
Name: <input type="text" name="fname">
<input type="submit">
</form>
<?php
$name = $_REQUEST['fname'];
echo $name;
?>
</body>
</html>4. $GLOBALS –> 引用全局作用域中可用的全部变量
下面的例子展示了如何使用超级全局变量 $GLOBALS: <?php
$x = 75;
$y = 25;
function addition() {
$GLOBALS['z'] = $GLOBALS['x'] + $GLOBALS['y'];
}
addition();
echo $z;
?>5. $_FILES –> 上传文件使用
前端上传文件示例代码: /**创建一个文件上传表单
允许用户从表单上传文件是非常有用的。
请看下面这个供上传文件的 HTML 表单:**/
<html>
<body>
<form action="upload_file.php" method="post" enctype="multipart/form-data">
<label for="file">Filename:</label>
<input type="file" name="file" id="file" />
<input type="submit" name="submit" value="Submit" />
</form>
</body>
</html>后端处理文件示例代码: <?php
if ((($_FILES["file"]["type"] == "image/gif")
|| ($_FILES["file"]["type"] == "image/jpeg")
|| ($_FILES["file"]["type"] == "image/pjpeg"))
&& ($_FILES["file"]["size"] < 20000))
{
if ($_FILES["file"]["error"] > 0)
{
echo "Return Code: " . $_FILES["file"]["error"] . "<br />";
}
else
{
echo "Upload: " . $_FILES["file"]["name"] . "<br />";
echo "Type: " . $_FILES["file"]["type"] . "<br />";
echo "Size: " . ($_FILES["file"]["size"] / 1024) . " Kb<br />";
echo "Temp file: " . $_FILES["file"]["tmp_name"] . "<br />";
if (file_exists("upload/" . $_FILES["file"]["name"]))
{
echo $_FILES["file"]["name"] . " already exists. ";
}
else
{
move_uploaded_file($_FILES["file"]["tmp_name"],
"upload/" . $_FILES["file"]["name"]);
echo "Stored in: " . "upload/" . $_FILES["file"]["name"];
}
}
}
else
{
echo "Invalid file";
}
?>6. $_SERVER –> 系统环境变量
下面的例子展示了如何使用 $_SERVER 中的某些元素: <?php
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'];
?>常用的字段:
7. $_SESSION –> 用于会话控制
①开始 PHP Session : <?php session_start(); ?> <html> <body> </body> </html> ②存储 和使用Session 变量: <?php session_start(); // store session data $_SESSION['views']=1; ?> <html> <body> <?php //retrieve session data echo "Pageviews=". $_SESSION['views']; ?> </body> </html> ③终结 Session //通过 unset() 函数用于释放指定的 session 变量: <?php unset($_SESSION['views']); ?> //通过 session_destroy() 函数彻底终结 session: <?php session_destroy(); ?> 注释:session_destroy() 将重置 session,您将失去所有已存储的 session 数据。 8. $_COOKIE –> 用于会话控制
①创建 Cookie //语法
setcookie(name, value, expire, path, domain);
//示例
<?php
setcookie("user", "Alex Porter", time()+3600);
//创建名为 "user" 的 cookie,把为它赋值 "Alex Porter"。我们也规定了此 cookie 在一小时后过期
?>
<html>
<body>
</body>
</html>②取回 Cookie 值 //示例a:取回了名为 "user" 的 cookie 的值,并把它显示在了页面上 <?php // Print a cookie echo $_COOKIE["user"]; // A way to view all cookies print_r($_COOKIE); ?> //示例b:使用 isset() 函数来确认是否已设置了 cookie <html> <body> <?php if (isset($_COOKIE["user"])) echo "Welcome " . $_COOKIE["user"] . "!<br />"; else echo "Welcome guest!<br />"; ?> </body> </html> 9. $_ENV –> 服务器端环境变量
$_ENV只是被动的接受服务器端的环境变量并把它们转换为数组元素,你可以尝试直接输出它: //输出内容格式清晰,ThinkPHP可以直接用dump()
var_dump($_ENV);
//输出到屏幕
print_r($_ENV);
//输出key-value键值对
foreach($_ENV as $key=>$val){echo $key.'--------'.$val.'<br>';}推荐学习:《PHP视频教程》 以上就是php超全局变量有几个的详细内容,更多请关注模板之家(www.mb5.com.cn)其它相关文章! |
