2015-11-06 58 views
0

我試圖修復一個callbackurl,並在舊系統中嘗試檢索數據時可以簡單地使用$_POST['order_id']。不幸的是,似乎不再可能。如何從file_get_contents(php://輸入)檢索信息?

新系統使用此行代碼:

$request_body = file_get_contents("php://input"); 

根據技術數據表中的order_id現在簡稱id,但我怎樣使用$request_body找回它?像$request_body['id']

+0

你爲什麼不'var_dump''$ request_body'來看看包含什麼? –

回答

1

發送給服務器的是什麼樣的數據?可能的形式是application/x-www-form-urlencoded編碼,所以你可以使用parse_str函數來解析查詢字符串。

php://input包含請求HTTP頭後的原始數據。

$request_body = file_get_contents("php://input"); 

$data = array(); 

parse_str($request_body, $data); 

var_dump($data); 

如果發送JSON例如,你可以使用json_decode

+0

我試圖做到這一點:$ request_body = file_get_contents(「php:// input」); $ data = array(); parse_str($ request_body,$ data); $ getmyid = $ data ['id'];但不幸的是沒有任何檢索。你能告訴我你的意思是由json_decode嗎? –

+0

我試圖將$ request_body直接保存到我的數據庫,最後發生了一些事情。這是一個格式爲{「id」:8683104,「order_id」:「1853926」,「etc. etc.」等格式的大量數據。我可以和我一起工作。 –

+1

好像你的數據存儲在JSON中。你可以使用'$ data = json_decode($ request_body,true);'來獲得一個基於你的JSON的關聯數組。 – vitozev