php輸入流php://input使用示例(php發(fā)送圖片流到服務(wù)器)
從官網(wǎng)信息來(lái)看,php://input是一個(gè)只讀信息流,當(dāng)請(qǐng)求方式是post的,并且enctype不等于”multipart/form-data”時(shí),可以使用php://input來(lái)獲取原始請(qǐng)求的數(shù)據(jù)。
看一個(gè)簡(jiǎn)單的例子。
客戶端就是一個(gè)表單,非常簡(jiǎn)單。
<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的說(shuō)明中,反復(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)文章
自己寫的php中文截取函數(shù)mb_strlen和mb_substr
這篇文章主要介紹了自己寫的php中文截取函數(shù)mb_strlen和mb_substr,在服務(wù)器沒(méi)mbstring庫(kù)時(shí)可以使用本文函數(shù)代替,需要的朋友可以參考下2015-02-02
Laravel validate error處理,ajax,json示例
今天小編就為大家分享一篇Laravel validate error處理,ajax,json示例,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧2019-10-10
laradock環(huán)境docker-compose操作詳解
在本篇文章中小編給大家整理的是關(guān)于laradock環(huán)境docker-compose操作的相關(guān)知識(shí)點(diǎn)內(nèi)容,有需要的朋友們參考學(xué)習(xí)下。2019-07-07
laravel實(shí)現(xiàn)上傳圖片的兩種方式小結(jié)
今天小編就為大家分享一篇laravel實(shí)現(xiàn)上傳圖片的兩種方式小結(jié),具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧2019-10-10
laravel開發(fā)環(huán)境homestead搭建過(guò)程詳解
Laravel Homestead 是一個(gè)官方預(yù)封裝的 Vagrant box ,它為你提供了一個(gè)完美的開發(fā)環(huán)境,你不需要在本地機(jī)器安裝 PHP、web 服務(wù)器和其他的服務(wù)器軟件,這篇文章主要介紹了laravel開發(fā)環(huán)境homestead搭建,需要的朋友可以參考下2020-07-07

