在PHP中,request
通常指的是HTTP请求。HTTP请求是客户端(如浏览器)向服务器发送的请求,以获取或提交数据。PHP提供了多种方式来访问和处理这些请求数据。
$_GET
$_GET
是一个超全局数组,用于收集通过URL参数(查询字符串)传递的数据。例如,如果URL是 http://example.com/index.php?name=John&age=30
,你可以通过 $_GET['name']
和 $_GET['age']
来获取这些值。
$name = $_GET['name']; // John
$age = $_GET['age']; // 30
$_POST
$_POST
是一个超全局数组,用于收集通过HTTP POST方法提交的表单数据。例如,如果表单通过POST方法提交了 name
和 age
字段,你可以通过 $_POST['name']
和 $_POST['age']
来获取这些值。
$name = $_POST['name']; // John
$age = $_POST['age']; // 30
$_REQUEST
$_REQUEST
是一个超全局数组,包含了 $_GET
、$_POST
和 $_COOKIE
的数据。它通常用于处理不确定是通过GET还是POST方法提交的数据。
$name = $_REQUEST['name']; // John
$age = $_REQUEST['age']; // 30
$_SERVER
$_SERVER
是一个超全局数组,包含了服务器和执行环境的信息。例如,你可以通过 $_SERVER['REQUEST_METHOD']
来获取当前请求的HTTP方法(GET、POST等)。
$method = $_SERVER['REQUEST_METHOD']; // GET or POST
php://input
php://input
是一个只读流,允许你读取原始的POST数据。这对于处理JSON或XML格式的请求数据非常有用。
$rawData = file_get_contents("php://input");
$data = json_decode($rawData, true);
$_FILES
$_FILES
是一个超全局数组,用于处理通过HTTP POST方法上传的文件。
$file = $_FILES['file'];
if ($_SERVER['REQUEST_METHOD'] === 'POST') {
$name = $_POST['name'];
$age = $_POST['age'];
echo "Name: $name, Age: $age";
} elseif ($_SERVER['REQUEST_METHOD'] === 'GET') {
$name = $_GET['name'];
$age = $_GET['age'];
echo "Name: $name, Age: $age";
}
$_GET
:用于获取URL参数。$_POST
:用于获取通过POST方法提交的表单数据。$_REQUEST
:用于获取GET、POST和COOKIE数据。$_SERVER
:用于获取服务器和执行环境信息。php://input
:用于读取原始的POST数据。$_FILES
:用于处理上传的文件。这些超全局变量和流是PHP中处理HTTP请求的基础工具。