PHP中怎么獲取POST數(shù)據(jù),針對(duì)這個(gè)問(wèn)題,這篇文章詳細(xì)介紹了相對(duì)應(yīng)的分析和解答,希望可以幫助更多想解決這個(gè)問(wèn)題的小伙伴找到更簡(jiǎn)單易行的方法。
長(zhǎng)葛ssl適用于網(wǎng)站、小程序/APP、API接口等需要進(jìn)行數(shù)據(jù)傳輸應(yīng)用場(chǎng)景,ssl證書(shū)未來(lái)市場(chǎng)廣闊!成為成都創(chuàng)新互聯(lián)的ssl證書(shū)銷(xiāo)售渠道,可以享受市場(chǎng)價(jià)格4-6折優(yōu)惠!如果有意向歡迎電話聯(lián)系或者加微信:13518219792(備注:SSL證書(shū)合作)期待與您的合作!PHP獲取POST數(shù)據(jù)有幾種方法
方法1、最常見(jiàn)的方法是:$_POST['fieldname'];
說(shuō)明:只能接收Content-Type:application/x-www-form-urlencoded提交的數(shù)據(jù)
解釋?zhuān)阂簿褪潜韱蜳OST過(guò)來(lái)的數(shù)據(jù)
方法2、file_get_contents(“php://input”);
說(shuō)明:
允許讀取POST的原始數(shù)據(jù)。
和$HTTP_RAW_POST_DATA比起來(lái),它給內(nèi)存帶來(lái)的壓力較小,并且不需要任何特殊的php.ini設(shè)置。
php://input不能用于enctype=”multipart/form-data”。
解釋?zhuān)?/p>
對(duì)于未指定Content-Type的POST數(shù)據(jù),則可以使用file_get_contents(“php://input”);來(lái)獲取原始數(shù)據(jù)。
事實(shí)上,用PHP接收POST的任何數(shù)據(jù)都可以使用本方法。而不用考慮Content-Type,包括二進(jìn)制文件流也可以。
所以用方法二是最保險(xiǎn)的方法
方法3、$GLOBALS['HTTP_RAW_POST_DATA'];
說(shuō)明:
總是產(chǎn)生$HTTP_RAW_POST_DATA變量包含有原始的POST數(shù)據(jù)。
此變量?jī)H在碰到未識(shí)別MIME類(lèi)型的數(shù)據(jù)時(shí)產(chǎn)生。
$HTTP_RAW_POST_DATA對(duì)于enctype=”multipart/form-data”表單數(shù)據(jù)不可用
假如post過(guò)來(lái)的數(shù)據(jù)不是PHP能夠識(shí)別的,可以用$GLOBALS['HTTP_RAW_POST_DATA']來(lái)接收,
比如text/xml或者soap等等
解釋?zhuān)?/p>
$GLOBALS['HTTP_RAW_POST_DATA']存放的是POST過(guò)來(lái)的原始數(shù)據(jù)。
$_POST或$_REQUEST存放的是PHP以key=>value的形式格式化以后的數(shù)據(jù)。
但$GLOBALS['HTTP_RAW_POST_DATA']中是否保存POST過(guò)來(lái)的數(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過(guò)來(lái)的XML數(shù)據(jù)和解析XML數(shù)據(jù)
比如我們?cè)陂_(kāi)發(fā)微信企業(yè)號(hào)時(shí),如何處理用戶回復(fù)過(guò)來(lái)的數(shù)據(jù)呢?
文檔:/tupian/20230522/developer.work.weixin.qq.com 首先查閱文檔,可知道:?jiǎn)⒂瞄_(kāi)發(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ù)問(wèn)題的解答就分享到這里了,希望以上內(nèi)容可以對(duì)大家有一定的幫助,如果你還有很多疑惑沒(méi)有解開(kāi),可以關(guān)注創(chuàng)新互聯(lián)行業(yè)資訊頻道了解更多相關(guān)知識(shí)。
網(wǎng)頁(yè)標(biāo)題:PHP中怎么獲取POST數(shù)據(jù)-創(chuàng)新互聯(lián)
本文網(wǎng)址:http://jinyejixie.com/article38/ccpgsp.html
成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供標(biāo)簽優(yōu)化、關(guān)鍵詞優(yōu)化、網(wǎng)站內(nèi)鏈、網(wǎng)站建設(shè)、做網(wǎng)站、手機(jī)網(wǎng)站建設(shè)
聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請(qǐng)盡快告知,我們將會(huì)在第一時(shí)間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如需處理請(qǐng)聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來(lái)源: 創(chuàng)新互聯(lián)
猜你還喜歡下面的內(nèi)容