Rumah > pembangunan bahagian belakang > tutorial php > Bagaimanakah Saya Boleh Mengakses Data POST Mentah daripada Permintaan Berbilang Bahagian/Data dalam PHP?

Bagaimanakah Saya Boleh Mengakses Data POST Mentah daripada Permintaan Berbilang Bahagian/Data dalam PHP?

Linda Hamilton
Lepaskan: 2024-11-26 15:01:10
asal
518 orang telah melayarinya

How Can I Access Raw POST Data from Multipart/Form-Data Requests in PHP?

Mengakses Data Catatan Mentah untuk Permintaan Berbilang Bahagian/Data Borang

Manakala PHP menawarkan mekanisme seperti php://input dan $HTTP_RAW_POST_DATA untuk mendapatkan semula data POST mentah, kaedah ini tidak berkesan untuk permintaan berbilang bahagian/data bentuk. Menurut manual PHP:

"[...] php://input tidak tersedia dengan enctype="multipart/form-data"."

Penyelesaian untuk Berbilang Bahagian /Borang-Data Borang

Mengakses data mentah untuk borang tersebut memerlukan penyelesaian. Anda tidak boleh mendapatkannya secara langsung kerana PHP menghuraikannya secara automatik. Walau bagaimanapun, anda boleh menggunakan penggodaman berikut:

  1. Ubah suai konfigurasi Apache anda:
<Location "/backend/XXX.php">
    SetEnvIf Content-Type ^(multipart/form-data)(.*) NEW_CONTENT_TYPE=multipart/form-data-alternate OLD_CONTENT_TYPE=
    RequestHeader set Content-Type %{NEW_CONTENT_TYPE}e env=NEW_CONTENT_TYPE
</Location>
Salin selepas log masuk
  1. Ini akan menukar Jenis Kandungan permintaan yang dihantar kepada XXX .php daripada multipart/form-data kepada multipart/form-data-alternate. Ini akan menghalang PHP daripada menghuraikan data secara automatik.
  2. Baca data mentah daripada php://input. Anda kini boleh mendapatkan semula data mentah dan menghuraikannya sendiri.

Awas:

Sementara penyelesaian ini menyelesaikan masalah pengambilan data mentah, ia akan mengakibatkan tatasusunan $_FILES kosong.

Atas ialah kandungan terperinci Bagaimanakah Saya Boleh Mengakses Data POST Mentah daripada Permintaan Berbilang Bahagian/Data 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
Artikel terbaru oleh pengarang
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan