婷婷综合国产,91蜜桃婷婷狠狠久久综合9色 ,九九九九九精品,国产综合av

主頁(yè) > 知識(shí)庫(kù) > php使用file_get_contents(‘php://input‘)和$_POST的區(qū)別實(shí)例對(duì)比

php使用file_get_contents(‘php://input‘)和$_POST的區(qū)別實(shí)例對(duì)比

熱門(mén)標(biāo)簽:新河科技智能外呼系統(tǒng)怎么樣 衡水外呼系統(tǒng)平臺(tái) 地圖標(biāo)注平臺(tái)怎么給錢(qián)注冊(cè) 福州人工外呼系統(tǒng)哪家強(qiáng) 常州地圖標(biāo)注服務(wù)商 釘釘打卡地圖標(biāo)注 百度商鋪地圖標(biāo)注 注冊(cè)400電話(huà)申請(qǐng) 安裝電銷(xiāo)外呼系統(tǒng)

本文學(xué)習(xí)目的:

為什么和第三方平臺(tái)對(duì)接接口的時(shí)候,在接收http請(qǐng)求數(shù)據(jù)包時(shí),一般都是用file_get_contents("php://input"),而不是用$_POST呢?

file_get_contents:將整個(gè)文件讀入一個(gè)字符串

在用php寫(xiě)接口的時(shí)候,通常會(huì)將請(qǐng)求的數(shù)據(jù)通過(guò)json的形式發(fā)送到指定的請(qǐng)求地址處,此時(shí)的file_get_contents(‘php://input')主要是用來(lái)獲取請(qǐng)求的原始數(shù)據(jù)。和 $HTTP_RAW_POST_DATA 比起來(lái),php://input給內(nèi)存帶來(lái)的壓力較小,并且不需要任何特殊的 php.ini 設(shè)置。

注意兩點(diǎn):

數(shù)據(jù)的提交方式應(yīng)為POSTphp://input 不能用于接收enctype="multipart/form-data"表單提交的數(shù)據(jù)

1、舉一個(gè)簡(jiǎn)單示例:

提交表單

form action="" method="POST">
  姓名: input type="text" name="name" value="tom" />br />
  年齡:input type="text" name="age" value="22" />br />
  input type="submit" value="Submit" />
/form>

后端控制器通過(guò)file_get_contents(‘php://input'),獲取請(qǐng)求原始數(shù)據(jù)流

?php
$content = file_get_contents('php://input', 'r'); 
echo $content; 
//輸出name=tomage=22
?>

2、在項(xiàng)目應(yīng)用中,如攝像頭拍照,上傳保存,就可以用到php://input。客戶(hù)端拍照后,把圖片流傳送到服務(wù)端,服務(wù)端使用file_get_getcontents(‘php://input')就能獲取到圖片流。

$_POST

$_POST只能接收Content-Type: application/x-www-form-urlencoded提交的數(shù)據(jù),php會(huì)將http請(qǐng)求body相應(yīng)數(shù)據(jù)填入到數(shù)組_POST中,_POST數(shù)組中的數(shù)據(jù)是進(jìn)行urldecode()解析的結(jié)果。除了該Content-Type,還有 multipart/form-data類(lèi)型的表單數(shù)據(jù)也可以用$_POST接收。

四種常見(jiàn)的提交數(shù)據(jù)方式,分別如下:

定義和用法

enctype 屬性規(guī)定在發(fā)送到服務(wù)器之前應(yīng)該如何對(duì)表單數(shù)據(jù)進(jìn)行編碼。默認(rèn)地,表單數(shù)據(jù)會(huì)編碼為 "application/x-www-form-urlencoded"。就是說(shuō),在發(fā)送到服務(wù)器之前,所有字符都會(huì)進(jìn)行編碼(空格轉(zhuǎn)換為 "+" 加號(hào),特殊符號(hào)轉(zhuǎn)換為 ASCII HEX 值)。

enctype屬性值

Content-Type值 描述
application/x-www-form-urlencoded 在發(fā)送前編碼所有字符(默認(rèn))
multipart/form-data

不對(duì)字符編碼。

在使用包含文件上傳控件的表單時(shí),必須使用該值。

text/plain 空格轉(zhuǎn)換為 "+" 加號(hào),但不對(duì)特殊字符編碼。

text/xml

一種使用 HTTP 作為傳輸協(xié)議,XML 作為編碼方式的遠(yuǎn)程調(diào)用規(guī)范。

總結(jié):

1、Coentent-Type僅在取值為application/x-www-data-urlencoded和multipart/form- data兩種情況下,PHP才會(huì)將http請(qǐng)求數(shù)據(jù)包中相應(yīng)的數(shù)據(jù)填入全局變量$_POST中。

2、PHP不能識(shí)別的Content-Type類(lèi)型的時(shí)候,會(huì)將http請(qǐng)求包中相應(yīng)的數(shù)據(jù)填入變量$HTTP_RAW_POST_DATA中。

3、只有Coentent-Type為multipart/form-data的時(shí)候,PHP才不會(huì)將http請(qǐng)求數(shù)據(jù)包中的相應(yīng)數(shù)據(jù)填入php: //input,否則其它情況都會(huì)。填入的長(zhǎng)度,由Coentent-Length指定。

4、只有Content-Type為application/x-www-data-urlencoded時(shí),php://input數(shù)據(jù)才跟$_POST數(shù)據(jù)相一致。

5、如果不能獲取的時(shí)候,比如Coentent-Type為text/xml、application/json、soap,請(qǐng)使用 file_get_contents('php://input');

到此這篇關(guān)于php使用file_get_contents(‘php://input‘)和$_POST的區(qū)別實(shí)例對(duì)比的文章就介紹到這了,更多相關(guān)php使用file_get_contents和$_POST內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

您可能感興趣的文章:
  • 解決PHP curl或file_get_contents下載圖片損壞或無(wú)法打開(kāi)的問(wèn)題
  • php中file_get_contents()函數(shù)用法實(shí)例
  • PHP使用file_get_contents發(fā)送http請(qǐng)求功能簡(jiǎn)單示例
  • PHP使用fopen與file_get_contents讀取文件實(shí)例分享
  • PHP中file_get_contents函數(shù)抓取https地址出錯(cuò)的解決方法(兩種方法)

標(biāo)簽:唐山 柳州 遼陽(yáng) 克拉瑪依 白城 鶴崗 鷹潭 六安

巨人網(wǎng)絡(luò)通訊聲明:本文標(biāo)題《php使用file_get_contents(‘php://input‘)和$_POST的區(qū)別實(shí)例對(duì)比》,本文關(guān)鍵詞  php,使用,file,get,contents,input,;如發(fā)現(xiàn)本文內(nèi)容存在版權(quán)問(wèn)題,煩請(qǐng)?zhí)峁┫嚓P(guān)信息告之我們,我們將及時(shí)溝通與處理。本站內(nèi)容系統(tǒng)采集于網(wǎng)絡(luò),涉及言論、版權(quán)與本站無(wú)關(guān)。
  • 相關(guān)文章
  • 下面列出與本文章《php使用file_get_contents(‘php://input‘)和$_POST的區(qū)別實(shí)例對(duì)比》相關(guān)的同類(lèi)信息!
  • 本頁(yè)收集關(guān)于php使用file_get_contents(‘php://input‘)和$_POST的區(qū)別實(shí)例對(duì)比的相關(guān)信息資訊供網(wǎng)民參考!
  • 推薦文章
    主站蜘蛛池模板: 铜山县| 万州区| 海原县| 嘉黎县| 紫金县| 西丰县| 克什克腾旗| 元朗区| 兴宁市| 内江市| 汉寿县| 兴仁县| 定襄县| 平乐县| 册亨县| 利津县| 平谷区| 三河市| 沐川县| 屏南县| 韶关市| 六枝特区| 增城市| 镇原县| 长宁区| 辰溪县| 清流县| 宁德市| 甘德县| 昌宁县| 商河县| 天长市| 沁阳市| 中阳县| 夏津县| 娱乐| 施秉县| 磴口县| 朝阳市| 安宁市| 洛扎县|