ホームページ >バックエンド開発 >PHPチュートリアル >PHP の入力ストリームと出力ストリームについて説明する
この記事で共有する内容は、PHP の入力ストリームと出力ストリームに関するものです。必要な友人は参照してください。
今日、誰かが PHPCHINA で PHP から XML を転送する方法を私に尋ねました。 、対応する解決策は上記に示されています。ところで、PHP の入力ストリームと出力ストリームについて話しましょう。
夏休みに会社にいたとき、同僚がたまたま Flash を使用してストリーミング メディアを作成し、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() などのファイル関数に役立ちます。そうしないと、コンテンツを読み取る前にストリームにフィルターを適用する機会がなくなるからです。
つまり、投稿の元データはphp://inputというファイルに保存されます。簡単なファイル操作で内部のデータを読み込むことで制御できます。
$data=file_get_contents(php://input);
関連する推奨事項:
php 入力および出力ストリームのサンプル コードの詳細 (図)
以上がPHP の入力ストリームと出力ストリームについて説明するの詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。