php輸入流php://input使用淺析
在做一個(gè)攝像頭拍照然后上傳的功能,php中使用php://input來獲取內(nèi)容。于是就了解了下php://input。
從官網(wǎng)信息來看,php://input是一個(gè)只讀信息流,當(dāng)請求方式是post的,并且enctype不等于”multipart/form-data”時(shí),可以使用php://input來獲取原始請求的數(shù)據(jù)。
看一個(gè)簡單的例子。
客戶端就是一個(gè)表單,非常簡單。
<form action="" method="POST">
name: <input type="text" name="name" value="tom" /><br />
age:<input type="text" name="age" value="22" /><br />
<input type="submit" value="Submit" />
</form>
將表單提交到服務(wù)端,服務(wù)端使用file_get_contents獲取php://input內(nèi)容
$content = file_get_contents("php://input");
echo $content; //輸出name=tom&age=22
官網(wǎng)關(guān)于php://input的說明中,反復(fù)有提到$HTTP_RAW_POST_DATA這個(gè)變量,這個(gè)變量其實(shí)和 file_get_contents(php://input)的內(nèi)容是一樣的。如果要開啟這個(gè)變量,需要修改配置文件,找到 always_populate_raw_post_data這個(gè)選項(xiàng),設(shè)置為On,然后重新啟動(dòng)web服務(wù)器,就可以了。而使用php://input 不需要修改php配置文件。
在項(xiàng)目應(yīng)用中,如攝像頭拍照,上傳保存,就可以用到php://input。客戶端拍照后,把圖片流傳送到服務(wù)端,服務(wù)端使用file_get_getcontents(‘php://input')就能獲取到圖片流,然后把圖片流保存到一個(gè)文件,這個(gè)文件就是圖片了。
相關(guān)文章
linux使用crontab實(shí)現(xiàn)PHP執(zhí)行計(jì)劃定時(shí)任務(wù)
前幾天寫過一篇文章,利用單純的php實(shí)現(xiàn)定時(shí)執(zhí)行任務(wù),但是效率不佳,對于linux來說用crontab實(shí)現(xiàn)更加合理2014-05-05PHP Beanstalkd消息隊(duì)列的安裝與使用方法實(shí)例詳解
這篇文章主要介紹了PHP Beanstalkd消息隊(duì)列的安裝與使用方法,結(jié)合實(shí)例形式詳細(xì)分析了PHP Beanstalkd消息隊(duì)列的基本功能、原理、安裝、使用方法及相關(guān)操作注意事項(xiàng),需要的朋友可以參考下2020-02-02PHP執(zhí)行Curl時(shí)報(bào)錯(cuò)提示CURL ERROR: Recv failure: Connection reset by
這篇文章主要介紹了PHP執(zhí)行Curl時(shí)報(bào)錯(cuò)提示CURL ERROR: Recv failure: Connection reset by peer的解決方法,需要的朋友可以參考下2014-06-06PHP使用GETDATE獲取當(dāng)前日期時(shí)間作為一個(gè)關(guān)聯(lián)數(shù)組的方法
這篇文章主要介紹了PHP使用GETDATE獲取當(dāng)前日期時(shí)間作為一個(gè)關(guān)聯(lián)數(shù)組的方法,實(shí)例分析了php中GETDATE函數(shù)使用技巧,需要的朋友可以參考下2015-03-03PHP提示W(wǎng)arning:phpinfo() has been disabled函數(shù)禁用的解決方法
這篇文章主要介紹了PHP提示W(wǎng)arning:phpinfo() has been disabled函數(shù)禁用的解決方法,涉及針對配置文件中禁用函數(shù)的修改技巧,非常具有實(shí)用價(jià)值,需要的朋友可以參考下2014-12-12