PHP 3.0.13 以降で、php://output。 および PHP 4.3.0 以降で 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://filter の対象は、以下のように 'parameters' を 'path' の一部として保持します。
/resource=<フィルタの対象となるストリーム> (必須)このパラメータは、 php://filter 指定の最後に存在し、フィルタリング したいストリームを指している必要があります。
/read=<読み込みチェーンに適用するフィルタのリスト> (任意)このパラメータは 1 つ以上のフィルタ名を パラメータとしてとり、それらはパイプ文字 | で区切られます。
/write=<書き込みチェーンに適用するフィルタのリスト> (任意)このパラメータは 1 つ以上のフィルタ名を パラメータとしてとり、それらはパイプ文字 | で区切られます。
/<両方のチェーンに適用するフィルタのリスト> (任意)read= あるいは write= の指定をされていないすべてのフィルタは、 読み込みチェーンと書き込みチェーンの両方に(適宜)適用されます。
表 M-6. ラッパーの概要(php://filter については、 フィルタされる側のラッパーの概要を参照します)
属性 | サポートの有無 |
---|---|
allow_url_fopen で制約される | No |
読み込み許可 | php://stdin および php://input のみ。 |
書き込み許可 | php://stdout、 php://stderr および php://output のみ。 |
追加許可 | php://stdout、 php://stderr および php://output のみ(書き込みと同じ)。 |
同時読み書き許可 | No. これらのラッパーは一方通行です。 |
stat() のサポート | No |
unlink() のサポート | No |
rename() のサポート | No |
mkdir() のサポート | No |
rmdir() のサポート | No |