攝像頭拍照,PHP輸入流php://input的使用分析

攝像頭拍照,PHP輸入流php://input的使用分析    php


在作一個攝像頭拍照而後上傳的功能,php中使用php://input來獲取內容。因而就瞭解了下php://input。web

從官網信息來看,php://input是一個只讀信息流,當請求方式是post的,而且enctype不等於「multipart/form-data」時,能夠使用php://input來獲取原始請求的數據。服務器

看一個簡單的例子。post

客戶端就是一個表單,很是簡單。orm

1圖片

<form action="" method="POST">ip

2get

    name: <input type="text" name="name" value="tom" /><br />input

3web服務器

    age:<input type="text" name="age" value="22" /><br />

4

    <input type="submit" value="Submit" />

5

</form>

將表單提交到服務端,服務端使用file_get_contents獲取php://input內容

1

$content = file_get_contents("php://input");

2

echo $content; // 輸出name=tom&amp;age=22

官網關於php://input的說明中,反覆有提到 $HTTP_RAW_POST_DATA 這個變量,這個變量其實和 file_get_contents(php://input) 的內容是同樣的。若是要開啓這個變量,須要修改配置文件,找到always_populate_raw_post_data這個選項,設置爲On,而後從新啓動web服務器,就能夠了。而使用php://input不須要修改php配置文件。

在項目應用中,如攝像頭拍照,上傳保存,就能夠用到php://input。客戶端拍照後,把圖片流傳送到服務端,服務端使用 file_get_getcontents('php://input')就能獲取到圖片流,而後把圖片流保存到一個文件,這個文件就是圖片了。

相關文章
相關標籤/搜索