程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> 網頁編程 >> PHP編程 >> 關於PHP編程 >> php輸入流php://input使用淺析,輸入流input

php輸入流php://input使用淺析,輸入流input

編輯:關於PHP編程

php輸入流php://input使用淺析,輸入流input


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

從官網信息來看,php://input是一個只讀信息流,當請求方式是post的,並且enctype不等於”multipart/form-data”時,可以使用php://input來獲取原始請求的數據。

看一個簡單的例子。

客戶端就是一個表單,非常簡單。
復制代碼 代碼如下:
<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>

將表單提交到服務端,服務端使用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')就能獲取到圖片流,然後把圖片流保存到一個文件,這個文件就是圖片了。


問哪位知道,php裡 file_get_contents("php://input");這句是什

將php輸入流讀取到一個字符串,和$_post和$_GET還有所不同的,呵呵,具體可以看manual
 

保存php://input

$content = file_get_contents("php://input");
file_put_contents('a.txt',$content);
 

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved