ホームページ >php教程 >php手册 >PHP の入力ストリームと出力ストリームについて話す

PHP の入力ストリームと出力ストリームについて話す

WBOY
WBOYオリジナル
2016-06-13 12:33:221214ブラウズ

今日、誰かが PHPCHINA で PHP から XML を転送する方法を尋ねてきました。 、対応する解決策は上記に示されています。ところで、PHP の入力ストリームと出力ストリームについて話しましょう。

私が夏休み中に会社にいたとき、同僚はたまたま Flash を使用してストリーミング メディアを作成し、FLASH At によって渡されたメディア情報 (これも 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://フィルター

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() などのファイル関数に役立ちます。そうしないと、コンテンツを読み取る前にストリームにフィルターを適用する機会がなくなるからです。​





つまり、投稿の元データは php://input というファイルに保存されます。簡単なファイル操作で内部のデータを読み込むことで制御できます。

$data=file_get_contents(php://input);

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。