PHP7语言基础——系统预定义数组

$_SERVER

$_SERVER是一个包含了注入头信息(header)、路径(path)及脚本位置(script locations)等信息的数组,这个数组中的项目由web服务器创建。不能保证每个服务器都会提供全部项目,服务器可能会忽略一些,或者提供一些没有在此处列举出来的项目。

数组元素 说明
$_SERVER[‘PHP_SELF’] 当前执行脚本的文件名,与document root有关。如,在地址为http://example.com/text.php/foo.bar的脚本中使用$_SERVER[‘PHP_SELF’]将得到/test.php/foo.bar
$_SERVER[‘SERVER_ADDR’] 当前运行脚本所在服务器的IP地址
$_SERVER[‘SERVER_NAME’] 当前运行脚本所在服务器的主机名。如果脚本运行与虚拟主机中,该名称就由那个虚拟主机所设置的值决定。
$_SERVER[‘SERVER_PROTOCOL’] 请求页面时通信协议的名称和版本。如:“HTTP/1.0”
$_SERVER[‘REQUEST_METHOD’] 访问页面使用的请求方法,如GET、HEAD、POST、PUT
$_SERVER[‘DOCUMENT_ROOT’] 当前运行脚本所在的文档根目录。在服务器配置文件中定义
$_SERVER[‘HTTP_ACCEPT_LANGUAGE’] 当前请求头中Accept-Language项的内容(如果存在)。如:“en”
$_SERVER[‘REMOTE_ADDR’] 浏览当前页面的用户IP地址,注意与$_SERVER[‘SERVER_ADDR’]的区别
$_SERVER[‘SCRIPT_FILENAME’] 当前执行脚本的绝对路径
$_SERVER[‘SCRIPT_NAME’] 包含当前脚本的路径
$_SERVER[‘REQUEST_URI’] URI用来指定要访问的页面。例如:“/index.html”
$_SERVER[‘PATH_INFO’] 包含由客户端提供的、跟在真实脚本名称之后并且在查询语句(querystring)之前的路径信息(如果存在)。

$_GET$_POST数组

$_GET$_POST是PHP中十分重要的两个数组,在开发过程中,$_GET$_POST像灵魂一样无处不在。

页面之间传递信息可通过GET和POST两种方式完成。$_GET$_POST可分别用来接收这两种方式传递过来的数据。

【示例】

创建一个index.html文件,文件代码如下:

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8" />
    <title>GET测试</title>
</head>
<body>
    <form action="get.php" method="get">
        姓名:<input type="text" name="name">
        电话:<input type="text" name="phone">
        <input type="submit" value="提交">
    </form>
</body>
</html>

然后创建get.php文件来处理来自index.html提交过来的数据:

<?php
echo "<pre>get method:<br />";
print_r($_GET);
echo "</pre>";
?>

在浏览器中打开index.html得到如下页面:

在这里插入图片描述

提交该页面后,得到输出结果:

在这里插入图片描述

可以看到$_GET数组中包含了我们输入的数据。

修改index.html文件中action=“post.php” method=“post”,然后新建post.php,代码如下:

<?php
echo "<pre>post method:<br />";
print_r($_PSOT);
echo "</pre>";
?>

可以得到相同的结果。

$_FILES数组

$_FILES数组用于获取通过POST方法上传文件的相关信息,如果为单个文件上传,那么该数组为二维数组,如果为多个文件上传,那么该数组为三维数组。

【示例】

建立一个file.html演示上传文件,代码如下:

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8" />
    <title>FILES测试</title>
</head>
<body>
    <form enctype="multipart/form-data" action="file.php" method="POST">
        上传文件:<input name="userfile" type="file">
        <input type="submit" value="上传">
    </form>
</body>
</html>

新建一个用于接收文件信息的PHP文件file.php,代码如下:

<?php
echo "<pre>";
print_r($_FILES);
echo "</pre>"
?>

在file.html页面选择文件后,单击上传按钮,将会在页面输出以下信息:

在这里插入图片描述

$_SESSION$_COOKIE数组

$_COOKIE[]全局数组存储了通过HTTP COOKIE传递到脚本的信息,PHP可通过setcookie()函数设置COOKIE的值,用$_COOKIE[]数组接收COOKIE的值,$_COOKIE[]数组的索引为COOKIE的名称。

$_SESSION[]数组用于获取会话变量的相关信息。

$_REQUEST[]数组

默认情况下,$_REQUEST[]数组包含了$_GET$_POST$_COOKIE的数组。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章