Rumah > pembangunan bahagian belakang > tutorial php > Bagaimana untuk mengekstrak badan JSON POST dalam PHP?

Bagaimana untuk mengekstrak badan JSON POST dalam PHP?

DDD
Lepaskan: 2024-12-16 17:02:10
asal
435 orang telah melayarinya

How to Extract a JSON POST Body in PHP?

Mengekstrak JSON Post Body dalam PHP

Pertimbangkan data JSON POST berikut:

{a:1}
Salin selepas log masuk

Dalam PHP, lalai $_POST pembolehubah tidak akan mengandungi data ini. Sebaliknya, akses badan permintaan HTTP mentah menggunakan:

$entityBody = file_get_contents('php://input');
Salin selepas log masuk

Sebagai alternatif, gunakan pemalar STDIN:

$entityBody = stream_get_contents(STDIN);
Salin selepas log masuk

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

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!

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
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan