Bagaimana Menghuraikan Permintaan Berbilang Bahagian/Borang-Data Mentah Secara Manual dalam PHP?

Mary-Kate Olsen
Lepaskan: 2024-10-28 19:07:29
asal
293 orang telah melayarinya

How to Manually Parse Raw Multipart/Form-Data Requests in PHP?

Menghuraikan Data Mentah Berbilang Bahagian/Borang-Data Secara Manual dalam PHP

Tinjauan Keseluruhan Masalah

Menghuraikan data permintaan HTTP mentah dalam format berbilang bahagian/data borang boleh menjadi mencabar dalam PHP, terutamanya apabila menerima data melalui permintaan PUT yang tidak dihuraikan secara automatik.

Penyelesaian dengan Penghuraian Manual

Memandangkan PHP tidak mengendalikan permintaan PUT secara automatik dengan multipart/form-data, manual penghuraian adalah perlu. Begini cara ia boleh dicapai:

  1. Baca Data Mentah: Gunakan file_get_contents('php://input') untuk membaca data permintaan mentah.
  2. Ekstrak Sempadan: Menghuraikan pengepala CONTENT_TYPE untuk mendapatkan rentetan sempadan yang memisahkan segmen data berbilang bahagian.
  3. Kandungan Pisah: Bahagikan data mentah kepada blok berdasarkan rentetan sempadan . Alih keluar elemen "--" yang tertinggal.
  4. Blok Parse: Lelaran melalui setiap blok untuk mengenal pasti dan menghuraikan medan data:

    • Fail Yang Dimuat Naik: Padankan blok yang menunjukkan muat naik fail menggunakan jenis MIME aplikasi/strim oktet. Ekstrak atribut nama dan kandungan fail binari.
    • Medan Bukan Fail: Padanan blok yang mengandungi medan data borang. Ekstrak atribut nama dan nilai yang sepadan.

Penggunaan

  1. Lepasi tatasusunan kosong dengan rujukan sebagai argumen kepada fungsi parse_raw_http_request.
  2. Panggil fungsi untuk mengisi tatasusunan dengan data yang dihuraikan.
  3. Akses data yang dihuraikan menggunakan kekunci tatasusunan yang sepadan dengan nama medan bentuk.

Atas ialah kandungan terperinci Bagaimana Menghuraikan Permintaan Berbilang Bahagian/Borang-Data Mentah Secara Manual 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
Tentang kita Penafian Sitemap
Laman web PHP Cina:Latihan PHP dalam talian kebajikan awam,Bantu pelajar PHP berkembang dengan cepat!