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:
-
Baca Data Mentah: Gunakan file_get_contents('php://input') untuk membaca data permintaan mentah.
- Ekstrak Sempadan: Menghuraikan pengepala CONTENT_TYPE untuk mendapatkan rentetan sempadan yang memisahkan segmen data berbilang bahagian.
-
Kandungan Pisah: Bahagikan data mentah kepada blok berdasarkan rentetan sempadan . Alih keluar elemen "--" yang tertinggal.
-
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
- Lepasi tatasusunan kosong dengan rujukan sebagai argumen kepada fungsi parse_raw_http_request.
- Panggil fungsi untuk mengisi tatasusunan dengan data yang dihuraikan.
- 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!