小男孩‘自慰网亚洲一区二区,亚洲一级在线播放毛片,亚洲中文字幕av每天更新,黄aⅴ永久免费无码,91成人午夜在线精品,色网站免费在线观看,亚洲欧洲wwwww在线观看

分享

php獲取post中的json數(shù)據(jù)的實現(xiàn)方法

 corefashion 2014-12-04
最近用到騰訊微博與PHP交互,騰訊把json數(shù)據(jù)post給PHP(騰訊推送數(shù)據(jù)時,每條數(shù)據(jù)是一個json格式的數(shù)據(jù)包,作為post的數(shù)據(jù)體(請注意post數(shù)據(jù)體沒有參數(shù),不是key=value形式,整個json包就是post的數(shù)據(jù)體)),但在PHP里面$_post獲取不到,$_REQUEST也獲取不到,但是通過firedebug看到的請求信息確實是把JSON數(shù)據(jù)post給了PHP,這什么情況

突然想到了以前接觸過flash將圖片二進制流傳給php,靈機一動用$GLOBALS['HTTP_RAW_POST_DATA']獲取到了。
于 是就深入的查了一下,原來PHP默認只識別application/x-www.form-urlencoded標準的數(shù)據(jù)類型,因此,對型如text /xml 或者 soap 或者 application/octet-stream 之類的內容無法解析,如果用$_POST數(shù)組來接收就會失?。」时A粼?,交給$GLOBALS['HTTP_RAW_POST_DATA'] 來接收。

php的HTTP_RAW_POST_DATA
用Content-Type=text/xml 類型,提交一個xml文檔內容給了php server,要怎么獲得這個POST數(shù)據(jù)。
The RAW / uninterpreted HTTP POST information can be accessed with: $GLOBALS['HTTP_RAW_POST_DATA'] This is useful in cases where the post Content-Type is not something PHP understands (such as text/xml).
由于PHP默認只識別application/x-www.form-urlencoded標準的數(shù)據(jù)類型,因此,對型如text/xml的內容無法解析為$_POST數(shù)組,故保留原型,交給$GLOBALS['HTTP_RAW_POST_DATA'] 來接收。
另外還有一項 php://input 也可以實現(xiàn)此這個功能
php://input 允許讀取 POST 的原始數(shù)據(jù)。和 $HTTP_RAW_POST_DATA 比起來,它給內存帶來的壓力較小,并且不需要任何特殊的 php.ini 設置。php://input 不能用于 enctype="multipart/form-data"。

應用
代碼如下:

<form action="post.php" method="post">
<input type="text" name="user">
<input type="password" name="password">
<input type="submit">
</form>

post.php
代碼如下:

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

    本站是提供個人知識管理的網(wǎng)絡存儲空間,所有內容均由用戶發(fā)布,不代表本站觀點。請注意甄別內容中的聯(lián)系方式、誘導購買等信息,謹防詐騙。如發(fā)現(xiàn)有害或侵權內容,請點擊一鍵舉報。
    轉藏 分享 獻花(0

    0條評論

    發(fā)表

    請遵守用戶 評論公約

    類似文章 更多