Rumah >pembangunan bahagian belakang >tutorial php >Bagaimana untuk mengekstrak badan JSON POST dalam PHP?
Mengekstrak JSON Post Body dalam PHP
Pertimbangkan data JSON POST berikut:
{a:1}
Dalam PHP, lalai $_POST pembolehubah tidak akan mengandungi data ini. Sebaliknya, akses badan permintaan HTTP mentah menggunakan:
$entityBody = file_get_contents('php://input');
Sebagai alternatif, gunakan pemalar STDIN:
$entityBody = stream_get_contents(STDIN);
Perhatikan bahawa php://input tidak boleh dicari dan hanya boleh dibaca sekali . Untuk badan besar, pertimbangkan untuk menggunakan fail sementara untuk mengekalkan sumber strim:
function detectRequestBody() { $rawInput = fopen('php://input', 'r'); $tempStream = fopen('php://temp', 'r+'); stream_copy_to_stream($rawInput, $tempStream); rewind($tempStream); return $tempStream; }
Pengecualian berlaku apabila menentukan pengepala "multipart/form-data" dalam permintaan POST, kerana PHP sudah menghuraikan data ini ke dalam $_POST superglobal.
Atas ialah kandungan terperinci Bagaimana untuk mengekstrak badan JSON POST dalam PHP?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!