首頁 > 後端開發 > 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}
登入後複製

在PH 中,預設$_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
熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板