php 超全局变量怎么用
时间 : 2023-04-25 07:06:02声明: : 文章内容来自网络,不保证准确性,请自行甄别信息有效性

在 PHP 中有多个预定义的“超全局变量”,它们在脚本的任何地方都可以被访问,用于传递常用的信息。这些超全局变量都是以一个下划线开头的全局变量。在本文中,我们将介绍一些常用的超全局变量和它们的用法。

1. $_GET

$_GET 超全局变量用于收集通过 URL 参数传递的信息。它将所有的 GET 请求参数存储在一个关联数组中。例如,如果 URL 为 "http://example.com?name=John&age=25",则 $_GET['name'] 的值为 "John",$_GET['age'] 的值为 25。

可以按以下方式访问超全局变量 $_GET:

```php

$name = $_GET['name'];

$age = $_GET['age'];

2. $_POST

$_POST 超全局变量用于收集通过 HTTP POST 方法传递的所有信息。所有的 POST 请求参数存储在一个关联数组中。例如,如果从一个 HTML 表单提交数据到一个 PHP 脚本,那么可以使用 $_POST 来收集表单中的数据。

可以按以下方式访问超全局变量 $_POST:

```php

$name = $_POST['name'];

$age = $_POST['age'];

3. $_REQUEST

$_REQUEST 超全局变量用于收集 GET 和 POST 请求的数据。所有的 GET 和 POST 请求参数存储在一个关联数组中。它与 $_GET 和 $_POST 一样,可以用来获取 HTTP 请求的参数。

可以按以下方式访问超全局变量 $_REQUEST:

```php

$name = $_REQUEST['name'];

$age = $_REQUEST['age'];

4. $_SERVER

$_SERVER 超全局变量是一个包含了诸如头信息、路径、脚本位置等等信息的数组。这个数组中的项目由 Web 服务器创建。

以下是 $_SERVER 超全局变量的一些重要元素:

* 'PHP_SELF':当前执行脚本的文件名,如 index.php。

* 'SERVER_NAME':当前运行脚本所在的服务器的主机名。

* 'REQUEST_METHOD':访问页面使用的请求方法("GET", "HEAD", "POST", "PUT")。

可以按以下方式访问超全局变量 $_SERVER:

```php

$php_self = $_SERVER['PHP_SELF'];

$server_name = $_SERVER['SERVER_NAME'];

$request_method = $_SERVER['REQUEST_METHOD'];

5. $_FILES

$_FILES 超全局变量用于在 Web 页面中上传文件。这个超全局变量是一个关联数组,并用上传文件的字段名作为数组的键。每个上传的文件都由一个数组包含五个元素,分别是:name、type、size、tmp_name 和 error。这里是每个元素的详细解释:

* $_FILES["file"]["name"]:被上传文件的名称。

* $_FILES["file"]["type"]:被上传文件的 MIME 类型。

* $_FILES["file"]["size"]:被上传文件的大小,以字节为单位。

* $_FILES["file"]["tmp_name"]:存储在服务器的文件的临时副本的名称。

* $_FILES["file"]["error"]:这个元素包含上传过程中遇到的错误的代码。

可以按以下方式访问超全局变量 $_FILES:

```php

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

$filetype = $_FILES['file']['type'];

$filesize = $_FILES['file']['size'];

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

$fileerror = $_FILES['file']['error'];

总之,超全局变量是 PHP 语言中非常有用的一个特性,能够轻松地获取用户 HTTP 请求中的信息,带来了很多便利,同时也增加了 PHP 程序员的开发体验。

PHP中的超全局变量是在整个脚本中都可用的预定义变量,无需进行任何特殊声明即可使用。它们是在任何地方都可以访问的,包括函数和类中。常用的超全局变量包括:

1. $\_GET 变量用于获取通过GET方法传递的参数值;

2. $\_POST 变量用于获取通过POST方法传递的参数值;

3. $\_REQUEST 变量用于同时获取GET和POST方法传递的参数值;

4. $\_SERVER 变量用于获取关于当前脚本和服务器的信息;

5. $\_COOKIE 变量用于获取通过cookie设置的变量值;

6. $\_SESSION 变量用于获取通过session设置的变量值;

7. $\_FILES 变量用于获取通过HTTP POST方式上传的文件信息。

下面是一个简单的使用超全局变量的例子:

```php

<?php

if(isset($_POST['submit'])) {

$name = $_POST['name'];

$email = $_POST['email'];

echo "Your name is $name and your email is $email.";

}

?>

<form action="" method="post">

Enter your name:<input type="text" name="name"><br>

Enter your email:<input type="email" name="email"><br>

<input type="submit" value="Submit" name="submit">

</form>

在上面的例子中,我们使用了 $\_POST 变量来获取通过 POST 方法提交的表单数据,判断表单是否已被提交,然后将数据打印在屏幕上。

需要注意的是,由于超全局变量的范围非常大,容易受到未授权的访问。因此,必须要注意对超全局变量的安全措施,例如参数验证和数据过滤等。此外,对于非必要的超全局变量使用,应尽量避免使用。