PHP輸入流php://input的使用分析
在做一個(gè)攝像頭拍照然后上傳的功能,php中使用php://input來獲取內(nèi)容。于是就了解了下php://input。
從官網(wǎng)信息來看,php://input是一個(gè)只讀信息流,當(dāng)請(qǐng)求方式是post的,并且enctype不等于“multipart/form-data”時(shí),可以使用php://input來獲取原始請(qǐng)求的數(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)文章:
1. JS中6個(gè)對(duì)象數(shù)組去重的方法2. 一文帶你徹底理解Java序列化和反序列化3. python中文本字符處理的簡單方法記錄4. 資深程序員:給Python軟件開發(fā)測試的25個(gè)忠告!5. Python使用Selenium自動(dòng)進(jìn)行百度搜索的實(shí)現(xiàn)6. PHP laravel實(shí)現(xiàn)導(dǎo)出PDF功能7. Java commons-httpclient如果實(shí)現(xiàn)get及post請(qǐng)求8. vscode運(yùn)行php報(bào)錯(cuò)php?not?found解決辦法9. Python基于requests庫爬取網(wǎng)站信息10. PHP利用curl發(fā)送HTTP請(qǐng)求的實(shí)例代碼

網(wǎng)公網(wǎng)安備