Bagaimana untuk Memperoleh Badan Permintaan POST sebagai JSON dalam PHP?
Apabila menyerahkan data JSON sebagai POST ke halaman PHP, mengakses nilainya mungkin kelihatan mencabar, kerana var_dump($_POST); mengembalikan tatasusunan kosong. Untuk mendapatkan semula muatan JSON, aliran input khas diperlukan.
Menggunakan php://input atau STDIN
Untuk mengakses badan entiti mentah permintaan POST:
$entityBody = file_get_contents('php://input');
Sebagai alternatif, seseorang boleh menggunakan STDIN:
$entityBody = stream_get_contents(STDIN);
php://input Pertimbangan
Memelihara Kebolehbacaan php://input
Memandangkan php://input tidak boleh dicari, ia hanya boleh dibaca sekali. Untuk mengekalkan strim input:
function detectRequestBody() { $rawInput = fopen('php://input', 'r'); $tempStream = fopen('php://temp', 'r+'); stream_copy_to_stream($rawInput, $tempStream); rewind($tempStream); return $tempStream; }
Mengendalikan Permintaan Berbilang Bahagian/Data Borang
Untuk permintaan berbilang bahagian/data borang, muatan JSON tersedia terus dalam $_POST superglobal.
Atas ialah kandungan terperinci Bagaimana untuk Mengakses Badan Permintaan JSON POST dalam PHP?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!