首页 > 后端开发 > php教程 > 如何在 PHP 中提取 JSON POST 正文?

如何在 PHP 中提取 JSON POST 正文?

DDD
发布: 2024-12-16 17:02:10
原创
431 人浏览过

How to Extract a JSON POST Body in PHP?

在 PHP 中提取 JSON Post 正文

考虑以下 JSON POST 数据:

{a:1}
登录后复制

在 PHP 中,默认 $_POST 变量将不包含此数据。相反,使用以下方式访问原始 HTTP 请求正文:

$entityBody = file_get_contents('php://input');
登录后复制

或者,使用 STDIN 常量:

$entityBody = stream_get_contents(STDIN);
登录后复制

请注意,php://input 是不可搜索的,只能读取一次。对于大型体,请考虑使用临时文件来维护流资源:

function detectRequestBody() {
    $rawInput = fopen('php://input', 'r');
    $tempStream = fopen('php://temp', 'r+');
    stream_copy_to_stream($rawInput, $tempStream);
    rewind($tempStream);

    return $tempStream;
}
登录后复制

在 POST 请求中指定“multipart/form-data”标头时会发生异常,因为 PHP 已经将此数据解析为$_POST 超全局。

以上是如何在 PHP 中提取 JSON POST 正文?的详细内容。更多信息请关注PHP中文网其他相关文章!

来源:php.cn
本站声明
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn
热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板