《PHP實(shí)戰(zhàn):PHP獲取POST數(shù)據(jù)的幾種方法匯總》要點(diǎn):
本文介紹了PHP實(shí)戰(zhàn):PHP獲取POST數(shù)據(jù)的幾種方法匯總,希望對您有用。如果有疑問,可以聯(lián)系我們。
PHP學(xué)習(xí)一、PHP獲取POST數(shù)據(jù)的幾種辦法
PHP學(xué)習(xí)辦法1、最常見的辦法是:$_POST['fieldname'];
PHP學(xué)習(xí)說明:只能接收Content-Type: application/x-www-form-urlencoded提交的數(shù)據(jù)
解釋:也便是表單POST過來的數(shù)據(jù)
PHP學(xué)習(xí)辦法2、file_get_contents("php://input");
PHP學(xué)習(xí)說明:
允許讀取 POST 的原始數(shù)據(jù).
和 $HTTP_RAW_POST_DATA 比起來,它給內(nèi)存帶來的壓力較小,并且不需要任何特殊的 php.ini 設(shè)置.
php://input 不能用于 enctype="multipart/form-data".
解釋:
對于未指定 Content-Type 的POST數(shù)據(jù),則可以使用file_get_contents(“php://input”);來獲取原始數(shù)據(jù).
事實(shí)上,用PHP接收POST的任何數(shù)據(jù)都可以使用本辦法.而不用考慮Content-Type,包括二進(jìn)制文件流也可以.
所以用辦法二是最保險(xiǎn)的辦法
PHP學(xué)習(xí)辦法3、$GLOBALS['HTTP_RAW_POST_DATA'];
PHP學(xué)習(xí)說明:
總是產(chǎn)生 $HTTP_RAW_POST_DATA? 變量包括有原始的 POST 數(shù)據(jù).
此變量僅在碰到未識別 MIME 類型的數(shù)據(jù)時產(chǎn)生.
$HTTP_RAW_POST_DATA? 對于 enctype="multipart/form-data"? 表單數(shù)據(jù)不可用
如果post過來的數(shù)據(jù)不是PHP能夠識別的,可以用 $GLOBALS['HTTP_RAW_POST_DATA']來接收,
比如 text/xml 或者 soap 等等
解釋:
$GLOBALS['HTTP_RAW_POST_DATA']存放的是POST過來的原始數(shù)據(jù).
$_POST或$_REQUEST存放的是 PHP以key=>value的形式格式化以后的數(shù)據(jù).
但$GLOBALS['HTTP_RAW_POST_DATA']中是否保存POST過來的數(shù)據(jù)取決于centent-Type的設(shè)置,即POST數(shù)據(jù)時 必須顯式示指明Content-Type: application/x-www-form-urlencoded,POST的數(shù)據(jù)才會存放到 $GLOBALS['HTTP_RAW_POST_DATA']中
PHP進(jìn)修二、演示
PHP學(xué)習(xí)1、PHP 如何獲取POST過來的XML數(shù)據(jù)息爭析XML數(shù)據(jù)
PHP學(xué)習(xí)好比我們在開發(fā)微信企業(yè)號時,如何處理用戶回復(fù)過來的數(shù)據(jù)呢?
文檔:http://qydev.weixin.qq.com/wiki/index.php?title=%E6%8E%A5%E6%94%B6%E6%99%AE%E9%80%9A%E6%B6%88%E6%81%AF
首先查閱文檔,可知道:啟用開發(fā)模式后,當(dāng)用戶給應(yīng)用回復(fù)信息時,微信服務(wù)端會POST一串XML數(shù)據(jù)到已驗(yàn)證的回調(diào)URL
PHP學(xué)習(xí)假設(shè)該URL為 http://www.xxx.com
Http哀求方式: POST
http://www.xxx.com/?msg_signature=ASDFQWEXZCVAQFASDFASDFSS×tamp=13500001234&nonce=123412323
PHP進(jìn)修POST的XML內(nèi)容為:
PHP學(xué)習(xí)那么怎么接收這段內(nèi)容呃?
這時就可以用到:辦法2(file_get_contents("php://input"))、辦法3($GLOBALS['HTTP_RAW_POST_DATA'])
PHP學(xué)習(xí)辦法2(file_get_contents("php://input")):
PHP學(xué)習(xí)辦法3($GLOBALS['HTTP_RAW_POST_DATA'])
維易PHP培訓(xùn)學(xué)院每天發(fā)布《PHP實(shí)戰(zhàn):PHP獲取POST數(shù)據(jù)的幾種方法匯總》等實(shí)戰(zhàn)技能,PHP、MYSQL、LINUX、APP、JS,CSS全面培養(yǎng)人才。
轉(zhuǎn)載請注明本頁網(wǎng)址:
http://www.fzlkiss.com/jiaocheng/11896.html