在 PHP 中从 JSON POST 读取 HTTP 请求正文 - 综合指南
当利用 PHP 通过 HTTP POST 接收 JSON 数据时,遇到请求正文无法通过标准方法(例如 $_POST)直接访问的情况。本文旨在提供在 PHP 中访问 POSTed JSON 对象的详细理解和解决方案。
使用 file_get_contents('php://input') 的方法
一方法是利用 file_get_contents('php://input') 函数来访问原始请求正文。此函数读取请求的整个正文,包括 JSON 对象。要解析 JSON 对象,您可以使用带有 TRUE 参数的 json_decode() 将对象作为关联数组返回。
代码示例:
$inputJSON = file_get_contents('php://input'); $input = json_decode($inputJSON, TRUE);
其他注意事项
文件指针管理:
使用 fopen('php://input', 'r') 时,正确处理文件指针很重要。确保使用 fclose() 关闭指针以避免资源泄漏。
Content-Type 标头:
验证请求的 Content-Type 标头是否指示请求正文包含 JSON。如果标头丢失或不正确,您可能无法将正文解析为 JSON。
附加说明:
以上是如何在 PHP 中读取 JSON POST 请求正文?的详细内容。更多信息请关注PHP中文网其他相关文章!