ホームページ >バックエンド開発 >PHPチュートリアル >PHP 入出力ストリーム学習メモ_PHP チュートリアル
この記事では主にPHPの入出力ストリームの学習メモを紹介します。 PHPの入力ストリームと出力ストリームはphp://を通じてアクセスされ、PHPの入出力ストリームと標準入力にアクセスできます。出力およびエラー記述子、メモリ内の一時ファイル ストリームとディスク バックアップ、その他の読み取りおよび書き込みファイル リソースを操作できるフィルター、必要な友人が参照できます
PHP の入出力ストリームは php:// を介してアクセスされます。これにより、PHP の入出力ストリーム、標準入出力、エラー記述子、メモリ内の一時ファイル ストリーム、ディスク バックアップ、その他の読み取りおよび書き込み操作が可能になります。ファイルリソースの場合。
php://stdin、php://stdout、php://stderr
php://stdin、php://stdout、php://stderr により、PHP プロセスの対応する入力ストリームまたは出力ストリームへのアクセスが可能になります。
php://input
php://input は、要求された生データにアクセスできる読み取り専用ストリームです。 POST リクエストの場合は、$HTTP_RAW_POST_DATA (ネイティブ 投稿データ) の代わりに php://input を使用するのが最適です。これは、特定の php.ini 命令に依存せず、メモリ消費が少ないためです。例として:
?
1 2 3 4 5 6 |
<フォームアクション=""メソッド="投稿"> input type="submit" name="" />
echo file_get_contents("php://input"); ?> |
結果:
php://output
php://output は、print や echo と同じ方法で出力バッファに書き込むことができる書き込み専用のデータ ストリームです。
php://fd
php://fd により、指定されたファイル記述子に直接アクセスできます。 たとえば、php://fd/3 はファイル記述子 3 を指します。
php://memoryとphp://temp
php://memory と php://temp は、一時データの読み書きを可能にするファイル ラッパーに似たデータ ストリームです。 2 つの唯一の違いは、php://memory は常にデータをメモリに保存するのに対し、php://temp はメモリ量が事前定義された制限 (デフォルトは 2MB) に達した後にデータを一時ファイルに保存することです。 一時ファイルの場所は、sys_get_temp_dir() と同じ方法で決定されます。
php://filter
php://filter は、データストリームが開かれたときにアプリケーションをフィルタリングするために設計されたメタラッパーです。 これは、ストリームのコンテンツが読み取られる前に追加のフィルターを適用する機会がない、readfile()、file()、file_get_contents() などのオールインワン ファイル関数に役立ちます。パラメータは次のとおりです:
例:
?
1 2 3 4 |
/* www.jb51.net のコンテンツ全体が大文字で出力されます */ readfile("php://filter/read=string.toupper/resource=http://www.jb51.net"); ?> |