在PHP中怎麼接收post過來的JSON資料

2021-08-01 14:42:47 字數 1221 閱讀 1456

要在php中整體接收post資料,有兩種方法。

注意,要使用以下兩種方法,content-type不能為multipart/form-data。

方法一:

使用:1

file_get_contents('php://input')

其中,php://input是乙個流,可以讀取沒有處理過的post資料(即原始資料)。相較於$http_raw_post_data而言,它給記憶體帶來的壓力較小,並且不需要特殊的php.ini設定。

方法二:

使用此方法,需要設定php.ini中的always_populate_raw_post_data值為on。

使用$http_raw_post_data,包含了post的原始資料。但這不是乙個超全域性變數,要在函式中使用它,必須宣告為global,或使用$globals['http_raw_post_data']代替。

最近用到ext與php互動,ext把json資料post給php,但在php裡面$_post獲取不到,$_request也獲取不到,但是通過firedebug看到的請求資訊確實是把json資料post給了php,這什麼情況?

php的http_raw_post_data

用content-type=text/xml型別,提交乙個xml文件內容給了php server,要怎麼獲得這個post資料。

另外還有一項php://input 也可以實現此這個功能

php://input允許讀取 post 的原始資料。和 $http_raw_post_data 比起來,它給記憶體帶來的壓力較小,並且不需要任何特殊的php.ini 設定。php://input 不能用於enctype="multipart/form-data"。

應用a.htm**如下:

post.php**如下:

<?echo file_get_contents("php://input");?>

php接收post的json資料

近用到ext與php互動,ext把json資料post給php,但在php裡面 post獲取不到,request也獲取不到,但是通過firedebug看到的請求資訊確實是把json資料post給了php,這什麼情況?php的http raw post data 用content type text ...

spring boot中post請求接收引數

spring boot遇坑記 引數直接寫long id一直報錯。調整為long id後 拿到的結果一直是null。引數需要加 requestbody 如只傳乙個id,必須要封裝到乙個物件中,可以用jsonobject 也可以自定義乙個param物件。city public city city req...

使用PHP接收POST資料,解析json資料

複製 如下 php json string post txt json if ini get magic quotes gpc 1 n json decode json string echo var dump user 在這個檔案中,首先得到html檔案中post表單域txt json的值,程式設...