File_get_contents("php://input") 與$HTTP_RAW_POST_DATA:擷取JSON 請求資料
開發者在處理JSON 請求資料時,常常會遇到這樣的情況:面臨使用file_get_contents("php://input")和$HTTP_RAW_POST_DATA。本文探討了這兩種方法的優缺點,並提供了選擇哪種方法以獲得最佳結果的指導。
file_get_contents("php://input")
file_get_contents ("php://input") 允許直接存取請求的原始正文。它比 $HTTP_RAW_POST_DATA 消耗更少的內存,並且不需要特定的 php.ini 指令。但是,它與“multipart/form-data”編碼類型不相容。
$HTTP_RAW_POST_DATA
$HTTP_RAW_POST_DATA 包含原始請求正文,包括表單資料和上傳的資料檔案。要使用它,必須在 php.ini 中將“always_populate_raw_post_data”設為 -ON。此方法僅在請求不是“multipart/form-data”時有效。
在方法之間進行選擇
如果您主要使用JSON 資料並且執行以下操作不需要支援“multipart/form-data”,file_get_contents("php: //input") 由於其簡單性和較低的記憶體佔用而成為首選選項。另一方面,如果「multipart/form-data」相容性至關重要,則在 php.ini 中啟用「always_populate_raw_post_data」後,需要 $HTTP_RAW_POST_DATA。
發送 JSON 資料的請求類型
關於透過XmlHTTPRequest發送JSON資料的請求類型,GET和POST都可以受僱。但是,POST 方法通常更合適,因為它允許更大的資料有效負載並且比 GET 更安全。使用 POST 方法時,請確保“Content-Type”標頭設定為“application/json”,以指示傳送的資料是 JSON 編碼的。
以上是`file_get_contents(\'php://input\')` 或 `$HTTP_RAW_POST_DATA`:我應該使用哪一種方法來檢索 JSON 資料?的詳細內容。更多資訊請關注PHP中文網其他相關文章!