通常情況下用戶(hù)使用瀏覽器網(wǎng)頁(yè)表單向服務(wù)器post提交數(shù)據(jù),我們使用PHP的$_POST接收用戶(hù)POST到服務(wù)器的數(shù)據(jù),并進(jìn)行適當(dāng)?shù)奶幚?。但有些情況下,如用戶(hù)使用客戶(hù)端軟件向服務(wù)端php程序發(fā)送post數(shù)據(jù),而不能用$_POST來(lái)識(shí)別,那又該如何處理呢?
大石橋網(wǎng)站制作公司哪家好,找創(chuàng)新互聯(lián)公司!從網(wǎng)頁(yè)設(shè)計(jì)、網(wǎng)站建設(shè)、微信開(kāi)發(fā)、APP開(kāi)發(fā)、響應(yīng)式網(wǎng)站開(kāi)發(fā)等網(wǎng)站項(xiàng)目制作,到程序開(kāi)發(fā),運(yùn)營(yíng)維護(hù)。創(chuàng)新互聯(lián)公司2013年至今到現(xiàn)在10年的時(shí)間,我們擁有了豐富的建站經(jīng)驗(yàn)和運(yùn)維經(jīng)驗(yàn),來(lái)保證我們的工作的順利進(jìn)行。專(zhuān)注于網(wǎng)站建設(shè)就選創(chuàng)新互聯(lián)公司。
我們介紹php接受post數(shù)據(jù)的三種方式:
1.$_POST方式接收數(shù)據(jù)
$_POST方式是通過(guò) HTTP POST 方法傳遞的變量組成的數(shù)組,是自動(dòng)全局變量。如使用$_POST[‘name’]就可以接收到網(wǎng)頁(yè)表單以及網(wǎng)頁(yè)異步方式post過(guò)來(lái)的數(shù)據(jù),
即$_POST只能接收文檔類(lèi)型為Content-Type: application/x-www-form-urlencoded提交的數(shù)據(jù),也就是表單POST過(guò)來(lái)的數(shù)據(jù)。
2.$GLOBALS[‘HTTP_RAW_POST_DATA’]方式接收數(shù)據(jù)
但$GLOBALS[‘HTTP_RAW_POST_DATA’]中是否保存POST過(guò)來(lái)的數(shù)據(jù)取決于centent-Type的設(shè)置,只有在PHP在無(wú)法識(shí)別的Content-Type的情況下,才會(huì)將POST過(guò)來(lái)的數(shù)據(jù)原樣地填入變量$GLOBALS[‘HTTP_RAW_POST_DATA’]中,像Content-Type=application/x-www-form-urlencoded時(shí),該變量是空的。
另外,它同樣無(wú)法讀取Content-Type為multipart/form-data的POST數(shù)據(jù),也需要設(shè)置php.ini中的always_populate_raw_post_data值為On,PHP才會(huì)總把POST數(shù)據(jù)填入變量$http_raw_post_data。
3.php://input方式接收數(shù)據(jù)
如果訪(fǎng)問(wèn)原始 POST 數(shù)據(jù)的更好方法是 php://input。php://input 允許讀取 POST 的原始數(shù)據(jù)。和 $HTTP_RAW_POST_DATA 比起來(lái),它給內(nèi)存帶來(lái)的壓力較小,并且不需要任何特殊的php.ini設(shè)置,php://input不能用于 enctype=”multipart/form-data”。對(duì)于未指定 Content-Type 的POST數(shù)據(jù),則可以使用file_get_contents(“php://input”)來(lái)獲取原始數(shù)據(jù)。事實(shí)上,用PHP接收POST的任何數(shù)據(jù)都可以使用本方法。而不用考慮Content-Type,包括二進(jìn)制文件流也可以。php://input讀取不到$_GET數(shù)據(jù)。是因?yàn)?
三中接受方式:
$_GET ? ?//get過(guò)來(lái)的數(shù)據(jù)
$_POST ?//post過(guò)來(lái)的數(shù)據(jù)
file_get_contents("php://input") ? //接口過(guò)來(lái)的xml等字符串?dāng)?shù)據(jù)用這個(gè)接
這三個(gè)方法足以接受任何數(shù)據(jù)了,具體你還要百度一下用法
form表單demo:task.html
fieldset id="setFiled"
legend發(fā)布任務(wù)/legend
form action="registr.php" method="post" id="steForm"
label任務(wù)類(lèi)型:/labelbr
input type="text" name="type"? id="taskType" placeholder="請(qǐng)選擇任務(wù)類(lèi)型"/br
label酬nbsp;nbsp;金:/labelbr
input type="number" name="money" id="forMoney" min="1" max="1000"/label元/labelbr
label截止時(shí)間:/labelbr
input type="datetime" name="time" id="timeSubmit"/span data-year="" data-month="" data-date="" id="showDate"/spanbr
label詳細(xì)描述:/labelbr
textarea maxlength="512" name="textAray" id="msgArea"/textareabr
input type="submit" name="subMit" id="forSub" value="點(diǎn)擊發(fā)布" /
/form
擴(kuò)展資料
php接收POST數(shù)據(jù)的三種方式
1、$_POST 方式接受數(shù)據(jù)
$_POST 方式是由通過(guò)HTTP的POST方法傳遞過(guò)來(lái)的數(shù)據(jù)組成的數(shù)組,是一個(gè)自動(dòng)全局變量。
注:只能接收Content-Type:application/x-www-form-urlencode提交的數(shù)據(jù)。也就是只能接收表單過(guò)來(lái)的數(shù)據(jù)。
2、GLOBLES[‘HTTP_RAW_POST_DATA’]
如果訪(fǎng)問(wèn)原始POST數(shù)據(jù)不是php能夠識(shí)別的文檔類(lèi)型,比如:text/xml 或者soap等等,可以用$GLOBLES[‘HTTP_RAW_POST_DATA’]來(lái)接收,$HTTP_RAW_POST_DATA變量包含有原始POST數(shù)據(jù)。此變量?jī)H在碰到未識(shí)別的MIME數(shù)據(jù)時(shí)產(chǎn)生。
注:$HTTP_RAW_POST_DATA對(duì)于enctype=”multipart/form-data”表單數(shù)據(jù)不可用,也就是說(shuō)使用$HTTP_RAW_POST_DATA無(wú)法接受網(wǎng)頁(yè)表單post過(guò)來(lái)的數(shù)據(jù)。
3、file_get_contents(“php://input”);
如果訪(fǎng)問(wèn)原始POST數(shù)據(jù),更好的方法是使用file_get_content(“php://input”);對(duì)于未指定Content-Type的POST數(shù)據(jù),可以使用該方法讀取POST原始數(shù)據(jù),包括二進(jìn)制流也可以和$HTTP_RAW_POST_DATA比起來(lái)。它帶來(lái)的生存眼里更小,并且不需要任何特殊的php.ini設(shè)置。
注:php://input不能用于 enctype=”multipart/form-data”
例如:$postStr = file_get_contents("php://input"); //獲取POST數(shù)據(jù)
GPRS接收數(shù)據(jù)本質(zhì)上就是socket通信, 和一般的網(wǎng)絡(luò)編程沒(méi)有區(qū)別.短信就是AT指令了.
服務(wù)器應(yīng)該設(shè)置一個(gè)監(jiān)聽(tīng)端口,在SIM300處設(shè)置端口連接,待GPRS模塊連通后就可以收發(fā)數(shù)據(jù)了;而后對(duì)于接收的數(shù)據(jù)進(jìn)行判定是否收發(fā)完畢,GPRS無(wú)線(xiàn)分組業(yè)務(wù)如其名,分組發(fā)送,采用TCP和UDP在判斷是否接受完成是不一樣的;而后存數(shù)數(shù)據(jù)庫(kù),一般ACCESS就夠用了。
文章標(biāo)題:php接收gprs數(shù)據(jù) gprs傳輸數(shù)據(jù)
瀏覽地址:http://sd-ha.com/article30/doochpo.html
成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供網(wǎng)頁(yè)設(shè)計(jì)公司、網(wǎng)站收錄、網(wǎng)站導(dǎo)航、營(yíng)銷(xiāo)型網(wǎng)站建設(shè)、、網(wǎng)站改版
聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶(hù)投稿、用戶(hù)轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請(qǐng)盡快告知,我們將會(huì)在第一時(shí)間刪除。文章觀(guān)點(diǎn)不代表本網(wǎng)站立場(chǎng),如需處理請(qǐng)聯(lián)系客服。電話(huà):028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來(lái)源: 創(chuàng)新互聯(lián)