PHP中怎么獲取POST數(shù)據(jù)

PHP中怎么獲取POST數(shù)據(jù),針對(duì)這個(gè)問題,這篇文章詳細(xì)介紹了相對(duì)應(yīng)的分析和解答,希望可以幫助更多想解決這個(gè)問題的小伙伴找到更簡單易行的方法。

“專業(yè)、務(wù)實(shí)、高效、創(chuàng)新、把客戶的事當(dāng)成自己的事”是我們每一個(gè)人一直以來堅(jiān)持追求的企業(yè)文化。 成都創(chuàng)新互聯(lián)是您可以信賴的網(wǎng)站建設(shè)服務(wù)商、專業(yè)的互聯(lián)網(wǎng)服務(wù)提供商! 專注于成都網(wǎng)站建設(shè)、網(wǎng)站建設(shè)、軟件開發(fā)、設(shè)計(jì)服務(wù)業(yè)務(wù)。我們始終堅(jiān)持以客戶需求為導(dǎo)向,結(jié)合用戶體驗(yàn)與視覺傳達(dá),提供有針對(duì)性的項(xiàng)目解決方案,提供專業(yè)性的建議,創(chuàng)新互聯(lián)建站將不斷地超越自我,追逐市場,引領(lǐng)市場!

PHP獲取POST數(shù)據(jù)有幾種方法

方法1、最常見的方法是:$_POST['fieldname'];

說明:只能接收Content-Type:application/x-www-form-urlencoded提交的數(shù)據(jù)

解釋:也就是表單POST過來的數(shù)據(jù)

方法2、file_get_contents(“php://input”);

說明:

允許讀取POST的原始數(shù)據(jù)。

和$HTTP_RAW_POST_DATA比起來,它給內(nèi)存帶來的壓力較小,并且不需要任何特殊的php.ini設(shè)置。

php://input不能用于enctype=”multipart/form-data”。

解釋:

對(duì)于未指定Content-Type的POST數(shù)據(jù),則可以使用file_get_contents(“php://input”);來獲取原始數(shù)據(jù)。

事實(shí)上,用PHP接收POST的任何數(shù)據(jù)都可以使用本方法。而不用考慮Content-Type,包括二進(jìn)制文件流也可以。

所以用方法二是最保險(xiǎn)的方法

方法3、$GLOBALS['HTTP_RAW_POST_DATA'];

說明:

總是產(chǎn)生$HTTP_RAW_POST_DATA變量包含有原始的POST數(shù)據(jù)。

此變量僅在碰到未識(shí)別MIME類型的數(shù)據(jù)時(shí)產(chǎn)生。

$HTTP_RAW_POST_DATA對(duì)于enctype=”multipart/form-data”表單數(shù)據(jù)不可用

假如post過來的數(shù)據(jù)不是PHP能夠識(shí)別的,可以用$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ù)時(shí)必須顯式示指明Content-Type:application/x-www-form-urlencoded,POST的數(shù)據(jù)才會(huì)存放到$GLOBALS['HTTP_RAW_POST_DATA']中。

PHP獲取POST數(shù)據(jù)代碼是什么

1、PHP如何獲取POST過來的XML數(shù)據(jù)和解析XML數(shù)據(jù)

比如我們?cè)陂_發(fā)微信企業(yè)號(hào)時(shí),如何處理用戶回復(fù)過來的數(shù)據(jù)呢?

文檔:http://qydev.weixin.qq.com/wiki/index.phptitle=%E6%8E%A5%E6%94%B6%E6%99%AE%E9%80%9A%E6%B6%88%E6%81%AF

首先查閱文檔,可知道:啟用開發(fā)模式后,當(dāng)用戶給應(yīng)用回復(fù)信息時(shí),微信服務(wù)端會(huì)POST一串XML數(shù)據(jù)到已驗(yàn)證的回調(diào)URL

假設(shè)該URL為http://www.xxx.com

Http請(qǐng)求方式:POST

http://www.xxx.com/msg_signature=ASDFQWEXZCVAQFASDFASDFSS×tamp=13500001234&nonce=123412323

POST的XML內(nèi)容為:

那么怎么接收這段內(nèi)容呃?

這時(shí)就可以用到:方法2(file_get_contents(“php://input”))、方法3($GLOBALS['HTTP_RAW_POST_DATA'])

方法2(file_get_contents(“php://input”)):

$input=file_get_contents("php://input");//接收POST數(shù)據(jù)

$xml=simplexml_load_string($input);//提取POST數(shù)據(jù)為simplexml對(duì)象

var_dump($xml);

方法3($GLOBALS['HTTP_RAW_POST_DATA'])

$input=$GLOBALS['HTTP_RAW_POST_DATA'];

libxml_disable_entity_loader(true);

$xml=simplexml_load_string($input,'SimpleXMLElement',LIBXML_NOCDATA);

var_dump($xml);

關(guān)于PHP中怎么獲取POST數(shù)據(jù)問題的解答就分享到這里了,希望以上內(nèi)容可以對(duì)大家有一定的幫助,如果你還有很多疑惑沒有解開,可以關(guān)注創(chuàng)新互聯(lián)行業(yè)資訊頻道了解更多相關(guān)知識(shí)。

當(dāng)前文章:PHP中怎么獲取POST數(shù)據(jù)
分享網(wǎng)址:http://muchs.cn/article34/jpeese.html

成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供微信小程序、網(wǎng)站設(shè)計(jì)公司、定制網(wǎng)站、Google、商城網(wǎng)站

廣告

聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請(qǐng)盡快告知,我們將會(huì)在第一時(shí)間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場,如需處理請(qǐng)聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來源: 創(chuàng)新互聯(lián)

網(wǎng)站建設(shè)網(wǎng)站維護(hù)公司