php 接收json 數據。post提示index 不存在的解決

if (!empty($GLOBALS['HTTP_RAW_POST_DATA']))
{
    $command =  isset($GLOBALS['HTTP_RAW_POST_DATA']) ? $GLOBALS['HTTP_RAW_POST_DATA'] : file_get_contents("php://input");
    $j =json_decode( $command,true);//true,轉化成數組
}
 
echo $j ;













近用到ext與PHP交互,ext把json數據post給PHP,但在PHP裏面$_post獲取不到,$_REQUEST也獲取不到,但是通過firedebug看到的請求信息確實是把JSON數據post給了PHP,這什麼情況?
突然想到了以前接觸過flash將圖片二進制流傳給php,靈機一動用$GLOBALS['HTTP_RAW_POST_DATA']獲取到了。於是就深入的查了一下,原來PHP默認只識別application/x-www.form-urlencoded標準的數據類型,因此,對型如text/xml或者 soap 或者 application/octet-stream之類的內容無法解析,如果用$_POST數組來接收就會失敗!故保留原型,交給$GLOBALS['HTTP_RAW_POST_DATA']來接收。
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章