亚洲激情专区-91九色丨porny丨老师-久久久久久久女国产乱让韩-国产精品午夜小视频观看

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

php如何獲取POST JSON數據

發布時間:2021-02-22 16:00:22 來源:億速云 閱讀:411 作者:清風 欄目:編程語言

本文將為大家詳細介紹“php如何獲取POST JSON數據”,內容步驟清晰詳細,細節處理妥當,而小編每天都會更新不同的知識點,希望這篇“php如何獲取POST JSON數據”能夠給你意想不到的收獲,請大家跟著小編的思路慢慢深入,具體內容如下,一起去收獲新知識吧。

php有什么用

php是一個嵌套的縮寫名稱,指的是英文超級文本預處理語言(php:Hypertext Preprocessor)的縮寫,它的語法混合了C、Java、Perl以及php自創新的語法,主要用來做網站開發,許多小型網站都用php開發,因為php是開源的,從而使得php經久不衰。

在通過ajax向php程序中傳遞數據時,會發現使用$_POST根本無法獲取數據.但是在firebug中可以看到post中其實是有json數據的.

 在使用 print_r(file_get_contents("php://input")) 之后,卻可以得到json數據

那什么是php://input呢?

對php://input的介紹,PHP官方手冊文檔有一段話對它進行了很明確地概述。 

   “php://input allows you to read raw POST data. It is a less memory intensive alternative to $HTTP_RAW_POST_DATA and does not need any special php.ini directives. php://input is not available with enctype=”multipart/form-data”. 

  翻譯過來,是這樣: 

   “php://input可以讀取沒有處理過的POST數據。相較于$HTTP_RAW_POST_DATA而言,它給內存帶來的壓力較小,并且不需要 特殊的php.ini設置。php://input不能用于enctype=multipart/form-data”。

  1,Content-Type 取值為application/x-www-form-urlencoded時,php會將http請求body相應數據會填入到數組$_POST,填入 到$_POST數組中的數據是進行urldecode()解析的結果。(其實,除了該Content-Type,還有multipart/form- data表示數據是表單數據,稍后我們介紹) 

   2,php://input數據,只要Content-Type不為multipart/form-data(該條件限制稍后會介紹)。那么php: //input數據與http entity body部分數據是一致的。該部分相一致的數據的長度由Content-Length指定。 

   3,僅當Content-Type為application/x-www-form-urlencoded且提交方法是POST方法時,$_POST數 據與php://input數據才是”一致”(打上引號,表示它們格式不一致,內容一致)的。其它情況,它們都不一致。 

  4,php://input讀取不到$_GET數據。是因為$_GET數據作為query_path寫在http請求頭部(header)的PATH字段,而不是寫在http請求的body部分。 

  相信大家對 php://input已經有一定深度地了解了。那么$http_raw_post_data是什么呢?$http_raw_post_data是PHP 內置的一個全局變量。它用于,PHP在無法識別的Content-Type的情況下,將POST過來的數據原樣地填入變 量$http_raw_post_data。它同樣無法讀取Content-Type為multipart/form-data的POST數據。需要設置 php.ini中的always_populate_raw_post_data值為On,PHP才會總把POST數據填入變
量$http_raw_post_data。 

  學習筆記1,Coentent-Type僅在取值為application/x-www-data-urlencoded和multipart/form-data兩種情況下,PHP才會將http請求數據包中相應的數據填入全局變量$_POST 

  2,PHP不能識別的Content-Type類型的時候,會將http請求包中相應的數據填入變量$HTTP_RAW_POST_DATA 

  3, 只有Coentent-Type不為multipart/form-data的時候,PHP不會將http請求數據包中的相應數據填入php://input,否則其它情況都會。填入的長度,由Coentent-Length指定。 

  4,只有Content-Type為application/x-www-data-urlencoded時,php://input數據才跟$_POST數據相一致。 

  5,php://input數據總是跟$HTTP_RAW_POST_DATA相同,但是php://input比$HTTP_RAW_POST_DATA更湊效,且不需要特殊設置php.ini 

  6,PHP會將PATH字段的query_path部分,填入全局變量$_GET。通常情況下,GET方法提交的http請求,body為空。

如果你能讀到這里,小編希望你對“php如何獲取POST JSON數據”這一關鍵問題有了從實踐層面最深刻的體會,具體使用情況還需要大家自己動手實踐使用過才能領會,如果想閱讀更多相關內容的文章,歡迎關注億速云行業資訊頻道!

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

准格尔旗| 康定县| 阳原县| 伊川县| 南漳县| 衡水市| 噶尔县| 阿尔山市| 林周县| 海兴县| 南澳县| 沙湾县| 朝阳市| 三明市| 随州市| 汽车| 张北县| 陵川县| 交口县| 乌拉特前旗| 烟台市| 高淳县| 调兵山市| 盖州市| 土默特右旗| 凉山| 宾川县| 永福县| 济宁市| 永泰县| 泾源县| 鹤峰县| 晋州市| 五指山市| 绥棱县| 耿马| 湖口县| 察隅县| 白城市| 南川市| 万全县|