PHP 预定义变量
phpserver side programmingprogramming
简介
任何 PHP 脚本都可以访问许多预定义变量。但是,其中许多变量取决于 Web 服务器软件、PHP 版本和其他因素。有些变量在命令行模式下运行的脚本不可用。$GLOBALS 变量存储所有全局可用预定义变量的引用。大多数此类变量可通过 phpinfo.php 显示。此处介绍了一些常用的预定义变量。
$_SERVER
这是一个数组变量,包含有关 HTTP 标头、脚本和环境的信息。以下是该数组的一些主要成员
PHP_SELF − 存储当前正在执行脚本的文件名。例如,本地服务器文档根目录下的 test 文件夹中的脚本返回其路径如下 −
示例
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
示例
echo "Name : " . $_GET["name"] . "
";
echo "Age : " . $_GET["age"];
?>
输出
这将产生以下结果 −
Name : xyz
Age : 20
$_POST
通过 HTTP POST 方法传递给 URL 的键值对关联数组,该方法在请求中使用 URLEncoded 或 multipart/form-data 内容类型。
通过在 HTML 表单 test.html 中指定 action=POST,使用 POST 方法将数据发送到 PHP 脚本,如下所示−
PHP脚本如下−
示例
echo "Name : " . $_POST["name"] . "
";
echo "Age : " . $_POST["age"];
?>
输出
这将产生以下结果 −
Name : xyz
Age : 20
$_FILES
此变量是一个关联数组,包含通过 HTTP POST 方法上传的项目。上传文件需要使用 HTTP POST 方法的表单,并将 enctype 属性设置为 multipart/form-data。