PHP 预定义变量

phpserver side programmingprogramming更新于 2025/8/19 7:52:17

简介

任何 PHP 脚本都可以访问许多预定义变量。但是,其中许多变量取决于 Web 服务器软件、PHP 版本和其他因素。有些变量在命令行模式下运行的脚本不可用。$GLOBALS 变量存储所有全局可用预定义变量的引用。大多数此类变量可通过 phpinfo.php 显示。此处介绍了一些常用的预定义变量。

$_SERVER

这是一个数组变量,包含有关 HTTP 标头、脚本和环境的信息。以下是该数组的一些主要成员

PHP_SELF − 存储当前正在执行脚本的文件名。例如,本地服务器文档根目录下的 test 文件夹中的脚本返回其路径如下 −

示例

<?php
echo $_SERVER['PHP_SELF'];
?>

输出

这将在浏览器中显示以下输出,URL 为 http://localhost/test/testscript.php

/test/testscript.php

SERVER_ADDR − 数组的此属性返回当前脚本正在执行的服务器的 IP 地址。

SERVER_NAME −当前脚本正在执行的服务器主机名称。如果服务器在本地运行,则返回 localhost。

QUERY_STRING − 查询字符串是由 & 符号分隔的键值对字符串,附加到 URL 的 ? 符号之后。例如,http://localhost/testscript?name=xyz&age=20 URL 返回尾随查询字符串。

REQUEST_METHOD − 用于访问 URL 的 HTTP 请求方法,例如 POST、GET、POST、PUT 或 DELETE。在上面的查询字符串示例中,附加到查询字符串的 URL 带有 ? 符号,表示使用 GET 方法请求页面。

DOCUMENT_ROOT − 返回服务器上配置为文档根目录的目录名称。在 XAMPP Apache 服务器上,它返回 htdocs 作为文档根目录的名称。

C:/xampp/htdocs

DOCUMENT_ROOT − 这是一个字符串,表示正在访问页面的用户代理(浏览器)。

Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML,例如 Gecko) Chrome/83.0.4103.116 Safari/537.36

REMOTE_ADDR − 用户正在查看当前页面的计算机的 IP 地址。

SERVER_PORT − Web 服务器监听传入请求的端口号。默认值为 80

$_GET

默认情况下,客户端浏览器通过 HTTP GET 方法向服务器发送 URL 请求。附加到 URL 的查询字符串可能包含由 & 符号连接的键值对。$_GET 关联数组存储这些键值对

假设浏览器中的 URL 为 http://localhost/testscript?name=xyz&age=20

示例

<?php
echo "Name : " . $_GET["name"] . "<br>";
echo "Age : " . $_GET["age"];
?>

输出

这将产生以下结果 −

Name : xyz
Age : 20

$_POST

通过 HTTP POST 方法传递给 URL 的键值对关联数组,该方法在请求中使用 URLEncoded 或 multipart/form-data 内容类型。

通过在 HTML 表单 test.html 中指定 action=POST,使用 POST 方法将数据发送到 PHP 脚本,如下所示−

<form action="testscript.php" method="POST">
<input type="text" name="name">
<input type="text" name="age">
<input type ="submit" valaue="submit">
</form>

PHP脚本如下−

示例

<?php
echo "Name : " . $_POST["name"] . "<br>";
echo "Age : " . $_POST["age"];
?>

输出

这将产生以下结果 −

Name : xyz
Age : 20

$_FILES

此变量是一个关联数组,包含通过 HTTP POST 方法上传的项目。上传文件需要使用 HTTP POST 方法的表单,并将 enctype 属性设置为 multipart/form-data。

<form action="testscript.php" method="POST" enctype="multipart/form-data">
<input type="file" name="file>
<input type ="submit" valaue="submit>
</form>

在 PHP 脚本中,_FILES 变量的访问方式如下 −

示例

<?php
print_r($_FILES);
?>

输出

Array ( [file] => Array ( [name] => hello.html [type] => text/html [tmp_name] => C:\xampp\tmp\php9647.tmp [error] => 0 [size] => 56 ) )

$_REQUEST

此变量是一个关联数组,包含 $_GET、$_POST 和 $_COOKIE 预定义变量的内容。

$_SESSION

此变量是一个表示 HTTP 会话的变量关联数组。

$_ENV

此预定义变量由一个环境变量数组组成。这些变量被导入到 PHP 的全局命名空间中。

$_COOKIE

服务器可以以 Cookie 的形式将某些数据存储在客户端计算机中。这些 Cookie 会在每次发出请求时传输。_COOKIE 变量是一个包含 Cookie 变量及其值的关联数组。


相关文章