PHP獲取POST數(shù)據(jù)的幾種方法:
成都創(chuàng)新互聯(lián)公司從2013年開始,是專業(yè)互聯(lián)網(wǎng)技術服務公司,擁有項目網(wǎng)站設計、成都網(wǎng)站制作網(wǎng)站策劃,項目實施與項目整合能力。我們以讓每一個夢想脫穎而出為使命,1280元五通橋做網(wǎng)站,已為上家服務,為五通橋各地企業(yè)和個人服務,聯(lián)系電話:18980820575
方法1、最常見的方法是:$_POST['fieldname'];
說明:只能接收Content-Type: application/x-www-form-urlencoded提交的數(shù)據(jù)。
方法2、file_get_contents("php://input");
說明:
允許讀取 POST 的原始數(shù)據(jù)。
和 $HTTP_RAW_POST_DATA 比起來,它給內存帶來的壓力較小,并且不需要任何特殊的 php.ini 設置。
php://input 不能用于 enctype="multipart/form-data"。
方法3、$GLOBALS['HTTP_RAW_POST_DATA'];
說明:
總是產(chǎn)生 $HTTP_RAW_POST_DATA 變量包含有原始的 POST 數(shù)據(jù)。
此變量僅在碰到未識別 MIME 類型的數(shù)據(jù)時產(chǎn)生。
http.request的三個屬性Form、PostForm、MultipartForm:
Form:存儲了post、put和get參數(shù),在使用之前需要調用ParseForm方法。
PostForm:存儲了post、put參數(shù),在使用之前需要調用ParseForm方法。
MultipartForm:存儲了包含了文件上傳的表單的post參數(shù),在使用前需要調用ParseMultipartForm方法。
獲取Get參數(shù)
用postman測試,提交,服務端輸出 :[111],提交: ;uid=222。服務端輸出:[111 222]
小結:r.Form是url.Values字典類型,r.Form[“id”]取到的是一個數(shù)組類型。因為http.request在解析參數(shù)的時候會將同名的參數(shù)都放進同一個數(shù)組里。
PHP 可以通過POST、GET方法獲取到表單提交的數(shù)據(jù)
獲取到的POST、GET是數(shù)組形式的值,需要通過鍵值來詳細獲取相應的值
比如: index.php 頁面
下面是POST方法
如上代碼執(zhí)行結果如下
POST
map[]
通過輸出body可以看出,業(yè)務服務器發(fā)送過來的數(shù)據(jù)是標準的post的數(shù)據(jù),可是為什么無論用什么方法取出來的都是空呢?如何是php可以用$_POST,那么golang要用什么方法獲取post過來的數(shù)據(jù)呢
post的數(shù)據(jù)會提交一個字節(jié)流到對應的請求頁,請求頁通過讀取字節(jié)流來獲取post的數(shù)據(jù)!
示例C#中如何在后臺獲取post的數(shù)據(jù):
System.IO.StreamReader sdr = new System.IO.StreamReader(Request.InputStream);
data = sdr.ReadToEnd();