Rumah > pembangunan bahagian belakang > tutorial php > Bagaimana untuk Mengakses Data JSON dengan betul dari Permintaan PHP POST?

Bagaimana untuk Mengakses Data JSON dengan betul dari Permintaan PHP POST?

Barbara Streisand
Lepaskan: 2024-12-23 17:26:10
asal
629 orang telah melayarinya

How to Properly Access JSON Data from PHP POST Requests?

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');
Salin selepas log masuk

Strim ini mengandungi data POST mentah. Anda juga boleh menggunakan stream_get_contents(STDIN) kerana STDIN ialah alias untuk php://input.

注意事项:

  • php://input ialah tidak boleh dicari, jadi ia hanya boleh dibaca sekali.
  • Untuk set data yang besar, pertimbangkan untuk menimbalkannya dengan strim sementara, seperti:
function detectRequestBody() {
    $rawInput = fopen('php://input', 'r');
    $tempStream = fopen('php://temp', 'r+');
    stream_copy_to_stream($rawInput, $tempStream);
    rewind($tempStream);

    return $tempStream;
}
Salin selepas log masuk

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
Salin selepas log masuk

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!

sumber:php.cn
Kenyataan Laman Web ini
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn
Artikel terbaru oleh pengarang
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan