超全局变量 — 超全局变量是在全部作用域中始终可用的内置变量
$GLOBALS ——引用全局作用域中可用的全部变量
说明:一个包含了全部变量的全局组合数组,变量的名字就是数组的键。
//Example 1:
$name = 'king';
$age = 10;
echo '<pre>';
print_r($GLOBALS); //这样打印的返回结果包含很多东西,大家可以自行打印看看结果
//Example 2:函数内部使用
$b = 2;
function testB(){
$GLOBALS['b'] = 10; // $GLOBALS['b'] b是变量在函数外面的变量名 使用$GLOBALS可以直接进行赋值 相当于$b本身
}
testB();
$_SERVER——系统环境变量
说明:$_SERVER 是一个包含了诸如头信息、路径、以及脚本位置等等信息的数组
echo '<pre>';
print_r($_SERVER); //结果输出内容比较多 这里就不打印了 下面挑几个常用的打印一下
//请求路径如:http://myproject.server.com:8203/index1.php
echo $_SERVER['HTTP_HOST'] .'<br>'; //当前请求头中 Host: 项的内容 如:myproject.server.com:8203
echo $_SERVER['SERVER_NAME'] .'<br>'; //输出当前运行脚本所在的服务器的主机名 如:myproject.server.com
echo $_SERVER['SERVER_ADDR'].'<br>'; //输出当前脚本所在的服务器IP地址
echo $_SERVER['REQUEST_METHOD'].'<br>'; //输出访问页面使用的请求方法如:get post put delete等
echo $_SERVER['SERVER_PORT'].'<br>'; //输出web服务器使用的端口
echo $_SERVER['REQUEST_URI'].'<br>'; //URI 用来指定要访问的页面
echo $_SERVER['DOCUMENT_ROOT'].'<br>'; //当前运行脚本所在的文档根目录 输出:/var/www/myproject
echo $_SERVER['REMOTE_ADDR'].'<br>'; //浏览当前页面的用户的 IP 地址 输出:10.10.10.131
$_GET ——HTTP GET 变量
说明:通过 URL 参数传递给当前脚本的变量的数组或通过表单method=get方式传送过来的数据
//请求路径如:http://myproject.server.com:8203/index1.php?name=king&age=10
print_r($_GET);
//输出:Array ( [name] => king [age] => 10 )
$_POST ——HTTP POST 变量
说明:收集通过表单method=post提交的表单数据
//请求地址:http://myproject.server.com:8203/index1.php
//请求端 在页面上名字栏输入king 密码栏输入111111
<html>
<body>
<form method="post" action="index.php"
<p> 名字:<input name="name" type="text" > </p>
<p> 密码:<input name="pass" type="password" > </p>
<input type="submit" name="Button" value="提交"/>
</form>
</body>
<html>
//接收端
//index.php打印
print_r($_POST)
//输出:Array ( [name] => king [pass] => 111111 [Button] => 提交 )
$_FILES ——HTTP 文件上传变量
说明:
通过 HTTP POST 方式上传到当前脚本的项目的数组。它是一个二维数组,包含5个元素
//前端页面
<html>
<head>
<meta charset="utf-8">
<title>文件上传案例</title>
</head>
<body>
<form action="index.php" method="post" enctype="multipart/form-data">
<label for="file">文件名:</label>
<input type="file" name="file" id="file"><br>
<input type="submit" name="submit" value="提交">
</form>
</body>
</html>
//后端接收
print_r($_FILES);
//输出Array ( [file] => Array ( [name] => 供应链用户.txt [type] => text/plain [tmp_name] => /tmp/phpupP2qo [error] => 0 [size] => 884 ) )
//参数说明:name:文件名 type文件的 MIME 类型 tmp_name文件被上传后在服务端储存的临时文件名 error:上传时错误 size 文件大小,字节为单位
$_REQUEST ——HTTP Request 变量
说明:可以收集到 get 和 post 两种方式的值
//前端 action参数后面加上id参数
<body>
<form method="post" action="index.php?id=10"
<p> 名字:<input name="name" type="text" > </p>
<p> 密码:<input name="pass" type="password" > </p>
<input type="submit" name="Button" value="提交"/>
</form>
</body>
<html>
//服务端
print_r($_REQUEST);
//Array ( [id] => 10 [name] => king [pass] => 111111 [Button] => 提交 )
$_SESSION——Session 变量
说明:当前脚本可用 SESSION 变量的数组
session_start(); //需要先进行启动session
$_SESSION['name'] = 'king';
$_SESSION['age'] = '10';
print_r($_SESSION);
//输出Array ( [name] => king [age] => 10 )
$_ENV ——环境变量
说明:通过环境方式传递给当前脚本的变量的数组
为了安全起见,这个参数默认不启动,直接打印输出默认为空,需要修改一下php.ini配置文件,修改如下
; variables_order
; Default Value: "EGPCS" // 把这个;号去掉
; Development Value: "GPCS"
; Production Value: "GPCS"
$_COOKIE ——HTTP Cookies
说明:Cookie用于识别用户。实际上是一个很小的文本文件,网站通过向用户硬盘中写入一个Cookie文件来标识用户
setcookie("name", "king"); // setcookie(键, [值, 有效时间, 服务器路径, 有效域名/子域名....]);
print_r($_COOKIE['name']); //输出King