php輸入流php input的使用分析

2021-08-27 19:18:29 字數 758 閱讀 4769

在做乙個攝像頭拍照然後上傳的功能,php中使用php://input來獲取內容。於是就了解了下php://input。

從官網資訊來看,php://input是乙個唯讀資訊流,當請求方式是post的,並且enctype不等於」multipart/form-data」時,可以使用php://input來獲取原始請求的資料。

看乙個簡單的例子。

客戶端就是乙個表單,非常簡單。

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

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

echo $content; //輸出name=tom&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』)就能獲取到流,然後把流儲存到乙個檔案,這個檔案就是了。

輸入流的坑

fileinputstream fis new fileinputstream file byte bytes new byte 1024 2 int id fis.read bytes 你以為接下來 string str new string bytes syso.這樣只會導致重複元素,因為最後乙...

標準輸入流

get 從流中提取字元,包括空格 read 無格式輸入指定位元組數 getline 從流中提取一行字元 ignore 提取並丟棄流中指定字元 peek 返回流中下乙個字元,但不從流中刪除 gcount 統計最後輸入的字元個數 seekg 移動輸入流指標 int get cin.get char rc...

緩衝輸入流

快取輸入流 bufferedinputstream繼承於filterinputstream,提供緩衝輸入流功能。緩衝輸入流相對於普通輸入流的優勢是,它提供了乙個緩衝陣列,每次呼叫read方法的時候,它首先嘗試從緩衝區裡讀取資料,若讀取失敗 緩衝區無可讀資料 則選擇從物理資料來源 譬如檔案 讀取新資料...