Cara Mengekstrak Data JSON daripada Permintaan PHP POST
Apabila menyerahkan data JSON kepada skrip PHP melalui permintaan POST, mengakses badan boleh mengelirukan. Menggunakan var_dump($_POST); akan mengembalikan tatasusunan kosong.
Penyelesaian: Menggunakan php://input
Untuk mengakses badan permintaan, PHP menyediakan php://input:
$entityBody = file_get_contents('php://input');
Strim ini mengandungi data POST mentah. Anda juga boleh menggunakan stream_get_contents(STDIN) kerana STDIN ialah alias untuk php://input.
注意事项:
function detectRequestBody() { $rawInput = fopen('php://input', 'r'); $tempStream = fopen('php://temp', 'r+'); stream_copy_to_stream($rawInput, $tempStream); rewind($tempStream); return $tempStream; }
Had:
php://input tidak tersedia untuk permintaan dengan Content-Type: multipart/form -data, kerana PHP mengendalikan data berbilang bahagian secara asli.
Contoh:
Untuk mengakses objek JSON {a:1} dalam kod PHP anda, gunakan:
$json = json_decode(file_get_contents('php://input')); echo $json->a; // 1
Atas ialah kandungan terperinci Bagaimana untuk Mengakses Data JSON dengan betul dari Permintaan PHP POST?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!