程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> 網頁編程 >> PHP編程 >> PHP綜合 >> 談談PHP的輸入輸出流

談談PHP的輸入輸出流

編輯:PHP綜合
今天有人再PHPCHINA上問我關於PHP傳XML怎麼做?,再上面已經給出了相應的解決方法。順便談談PHP的輸入輸出流。

   今天暑假在公司的時候,恰好同事使用flash打造流媒體的時候,需要使用PHP讀取FLASH傳遞過來的媒體信息(也是XML格式),在那個時候我也熟悉了PHP的基本輸入輸出流原理。

   手冊上說:


PHP 3.0.13 及以上版本,自 PHP 4.3.0 起支持 php://output 和 php://input,自 PHP 5.0.0 起支持 php://filter。 


php://stdin

php://stdout

php://stderr

php://output

php://input

php://filter

php://stdin,php://stdout 和 php://stderr 允許訪問 PHP 進程相應的輸入或者輸出流。 

php://output 允許向輸出緩沖機制寫入數據,和 print() 與 echo() 的方式相同。 

php://input 允許讀取 POST 的原始數據。和 $HTTP_RAW_POST_DATA 比起來,它給內存帶來的壓力較小,並且不需要任何特殊的 php.ini 設置。php://input 不能用於 enctype="multipart/form-data"。 

php://stdin 和 php://input 是只讀的,同時 php://stdout,php://stderr 和 php://output 是只寫的。 

php://filter 是一種設計用來允許過濾器程序在打開時成為流的封裝協議。這對於單獨具有完整功能的文件函數例如 readfile(),file() 和 file_get_contents() 很有用,否則就沒有機會在讀取內容之前將過濾器應用於流之上。 





   也就是說post的原始數據是保存在一個叫php://input的文件。你可以通過簡單的文件操作讀取裡面的數據來控制。

$data=file_get_contents(’php://input’); 
  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved