談談PHP的輸入輸出流
更新時間:2007年02月14日 00:00:00 作者:
今天有人再PHPCHINA上問我關于PHP傳XML怎么做?,再上面已經(jīng)給出了相應的解決方法。順便談談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 允許向輸出緩沖機制寫入數(shù)據(jù),和 print() 與 echo() 的方式相同。
php://input 允許讀取 POST 的原始數(shù)據(jù)。和 $HTTP_RAW_POST_DATA 比起來,它給內(nèi)存帶來的壓力較小,并且不需要任何特殊的 php.ini 設置。php://input 不能用于 enctype="multipart/form-data"。
php://stdin 和 php://input 是只讀的,同時 php://stdout,php://stderr 和 php://output 是只寫的。
php://filter 是一種設計用來允許過濾器程序在打開時成為流的封裝協(xié)議。這對于單獨具有完整功能的文件函數(shù)例如 readfile(),file() 和 file_get_contents() 很有用,否則就沒有機會在讀取內(nèi)容之前將過濾器應用于流之上。
也就是說post的原始數(shù)據(jù)是保存在一個叫php://input的文件。你可以通過簡單的文件操作讀取里面的數(shù)據(jù)來控制。
$data=file_get_contents(php://input);
今天暑假在公司的時候,恰好同事使用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 允許向輸出緩沖機制寫入數(shù)據(jù),和 print() 與 echo() 的方式相同。
php://input 允許讀取 POST 的原始數(shù)據(jù)。和 $HTTP_RAW_POST_DATA 比起來,它給內(nèi)存帶來的壓力較小,并且不需要任何特殊的 php.ini 設置。php://input 不能用于 enctype="multipart/form-data"。
php://stdin 和 php://input 是只讀的,同時 php://stdout,php://stderr 和 php://output 是只寫的。
php://filter 是一種設計用來允許過濾器程序在打開時成為流的封裝協(xié)議。這對于單獨具有完整功能的文件函數(shù)例如 readfile(),file() 和 file_get_contents() 很有用,否則就沒有機會在讀取內(nèi)容之前將過濾器應用于流之上。
也就是說post的原始數(shù)據(jù)是保存在一個叫php://input的文件。你可以通過簡單的文件操作讀取里面的數(shù)據(jù)來控制。
$data=file_get_contents(php://input);
相關文章
php中通過DirectoryIterator刪除整個目錄的方法
這篇文章主要介紹了php中通過DirectoryIterator刪除整個目錄的方法,實例分析了php通過DirectoryIterator類操作目錄的技巧,具有一定參考借鑒價值,需要的朋友可以參考下2015-03-03php 利用socket發(fā)送HTTP請求(GET,POST)
作為php程序員一定會接觸http協(xié)議,也只有深入了解http協(xié)議,編程水平才會更進一步。最近我一直在學習php的關于http的編程,許多東西恍然大悟,受益匪淺。希望分享給大家。本文需要有一定http基礎的開發(fā)者閱讀。2015-08-08PHP stream_context_create()作用和用法分析
創(chuàng)建并返回一個文本數(shù)據(jù)流并應用各種選項,可用于fopen(),file_get_contents()等過程的超時設置、代理服務器、請求方式、頭信息設置的特殊過程。2011-03-03解析:通過php socket并借助telnet實現(xiàn)簡單的聊天程序
本篇文章是對通過php socket并借助telnet實現(xiàn)簡單聊天程序的方法進行了詳細的分析介紹,需要的朋友參考下2013-06-06PHP通過內(nèi)置函數(shù)memory_get_usage()獲取內(nèi)存使用情況
這篇文章主要介紹了PHP通過內(nèi)置函數(shù)memory_get_usage()獲取內(nèi)存使用情況,需要的朋友可以參考下2014-11-11