File_get_contents("php://input") Vs $HTTP_RAW_POST_DATA: Mengambil semula Data Permintaan JSON
Dalam mengendalikan data permintaan JSON, pembangun selalunya menghadapi dilema antara menggunakan file_get_contents("php://input") dan $HTTP_RAW_POST_DATA. Artikel ini mengkaji kebaikan dan keburukan kedua-dua kaedah, memberikan panduan untuk memilih hasil yang optimum.
file_get_contents("php://input")
file_get_contents ("php://input") membolehkan akses terus kepada isi mentah permintaan. Ia menggunakan kurang memori daripada $HTTP_RAW_POST_DATA dan tidak memerlukan arahan php.ini khusus. Walau bagaimanapun, ia tidak serasi dengan enctype "multipart/form-data".
$HTTP_RAW_POST_DATA
$HTTP_RAW_POST_DATA mengandungi kandungan permintaan mentah, termasuk data borang dan dimuat naik fail. Untuk menggunakannya, seseorang mesti menetapkan "always_populate_raw_post_data" kepada -ON dalam php.ini. Kaedah ini hanya berkesan jika permintaan bukan "berbilang bahagian/data-bentuk."
Memilih Antara Kaedah
Jika anda menggunakan data JSON dan melakukan tidak memerlukan sokongan untuk "multipart/form-data," file_get_contents("php://input") ialah pilihan pilihan kerana kesederhanaannya dan memori yang lebih rendah jejak kaki. Sebaliknya, jika keserasian "multipart/form-data" adalah penting, $HTTP_RAW_POST_DATA diperlukan selepas mendayakan "always_populate_raw_post_data" dalam php.ini.
Jenis Permintaan untuk Menghantar Data JSON
Mengenai jenis permintaan untuk menghantar data JSON melalui XmlHTTPRequest, GET dan POST boleh digunakan. Walau bagaimanapun, kaedah POST biasanya lebih sesuai kerana ia membenarkan muatan data yang lebih besar dan lebih selamat daripada GET. Apabila menggunakan kaedah POST, pastikan pengepala "Jenis Kandungan" ditetapkan kepada "aplikasi/json" untuk menunjukkan bahawa data yang dihantar adalah berkod JSON.
Atas ialah kandungan terperinci `file_get_contents(\'php://input\')` atau `$HTTP_RAW_POST_DATA`: Kaedah Manakah yang Perlu Saya Gunakan untuk Mendapatkan Data JSON?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!