通常情況下用戶使用瀏覽器網頁表單向服務器post提交數據,我們使用PHP的$_POST接收用戶POST到服務器的數據,并進行適當的處理。但有些情況下,如用戶使用客戶端軟件向服務端php程序發送post數據,而不能用$_POST來識別,那又該如何處理呢?
創新互聯是少有的網站建設、做網站、營銷型企業網站、微信小程序、手機APP,開發、制作、設計、買鏈接、推廣優化一站式服務網絡公司,于2013年創立,堅持透明化,價格低,無套路經營理念。讓網頁驚喜每一位訪客多年來深受用戶好評
我們介紹php接受post數據的三種方式:
1.$_POST方式接收數據
$_POST方式是通過 HTTP POST 方法傳遞的變量組成的數組,是自動全局變量。如使用$_POST[‘name’]就可以接收到網頁表單以及網頁異步方式post過來的數據,
即$_POST只能接收文檔類型為Content-Type: application/x-www-form-urlencoded提交的數據,也就是表單POST過來的數據。
2.$GLOBALS[‘HTTP_RAW_POST_DATA’]方式接收數據
但$GLOBALS[‘HTTP_RAW_POST_DATA’]中是否保存POST過來的數據取決于centent-Type的設置,只有在PHP在無法識別的Content-Type的情況下,才會將POST過來的數據原樣地填入變量$GLOBALS[‘HTTP_RAW_POST_DATA’]中,像Content-Type=application/x-www-form-urlencoded時,該變量是空的。
另外,它同樣無法讀取Content-Type為multipart/form-data的POST數據,也需要設置php.ini中的always_populate_raw_post_data值為On,PHP才會總把POST數據填入變量$http_raw_post_data。
3.php://input方式接收數據
如果訪問原始 POST 數據的更好方法是 php://input。php://input 允許讀取 POST 的原始數據。和 $HTTP_RAW_POST_DATA 比起來,它給內存帶來的壓力較小,并且不需要任何特殊的php.ini設置,php://input不能用于 enctype=”multipart/form-data”。對于未指定 Content-Type 的POST數據,則可以使用file_get_contents(“php://input”)來獲取原始數據。事實上,用PHP接收POST的任何數據都可以使用本方法。而不用考慮Content-Type,包括二進制文件流也可以。php://input讀取不到$_GET數據。是因為$
三中接受方式:
$_GET ? ?//get過來的數據
$_POST ?//post過來的數據
file_get_contents("php://input") ? //接口過來的xml等字符串數據用這個接
這三個方法足以接受任何數據了,具體你還要百度一下用法
一個是form表單提交。一個是ajax異步訪問。服務器端采用$_GET或者$_POST或者$_REQUEST這三個方式獲取數據。
分享文章:php怎么接受數據 php接收http請求
當前路徑:http://vcdvsql.cn/article36/ddoipsg.html
成都網站建設公司_創新互聯,為您提供微信公眾號、面包屑導航、標簽優化、商城網站、用戶體驗、營銷型網站建設
聲明:本網站發布的內容(圖片、視頻和文字)以用戶投稿、用戶轉載內容為主,如果涉及侵權請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網站立場,如需處理請聯系客服。電話:028-86922220;郵箱:631063699@qq.com。內容未經允許不得轉載,或轉載時需注明來源: 創新互聯