ホームページ  >  記事  >  バックエンド開発  >  PHP Streams (ストリーム) の詳細な紹介と使用法、phpstreams_PHP チュートリアル

PHP Streams (ストリーム) の詳細な紹介と使用法、phpstreams_PHP チュートリアル

WBOY
WBOYオリジナル
2016-07-13 09:54:12988ブラウズ

PHP Streams (ストリーム) の詳細な紹介と使用法、phpstreams

PHP Streams は、通常の開発者がほとんど使用しない組み込みのコア操作であり、ファイル、ネットワーク、データ圧縮、その他のファイル操作を統合するために使用されます。これらのファイルに似た操作は、機能インターフェイスの共通セットを提供します。

ストリームはストリーミング動作を持つリソース オブジェクトであり、各ストリーム オブジェクトにはラッパー クラスがあります。ストリームは、:// を通じて参照できます。このうち、 はパッケージング クラスの名前であり、 の内容はパッケージング クラスの構文によって指定されます。
PHP にデフォルトで備わっている組み込みのパッケージング クラスを見てみましょう:

リーリー

PHP でサポートされているプロトコルとラッパー クラスについては、PHP マニュアルを参照してください。
file_get_contents() を使用してデータを取得する次のコードを見てください。 リーリー

実際、readfile('/path/to/somefile.txt') または readfile('file:///path/to/somefile.txt')、これら 2 つのメソッドは同等です。 PHP のデフォルトのパッケージング クラスは file:// であるためです。

マニュアルには、stream_register_wrapper() を通じて独自のラッパーを登録できることが明確に記載されています。マニュアルの例を確認してください。

OK、ここで PHP:// について簡単に説明します。PHP:// は、PHP が IO ストリームを処理するために使用するラッパー クラスです (ここをクリックすると例が表示されます)。より強力な入出力ストリームには PHP:// 経由でアクセスできます:

php://stdin: cli がスクリプトを実行するときにキーボード入力を取得するために使用される、PHP プロセスの対応する入力ストリームにアクセスします。

php://stdout: PHP プロセスの対応する出力ストリームにアクセスします。
php://stderr: PHP プロセスの対応するエラー出力にアクセスします。
php://input: 要求された生データにアクセスする読み取り専用ストリーム。
php://output: 書き込み専用のデータ ストリーム。print や echo と同じ方法で出力領域に書き込まれます。
php://fd: 指定されたファイル記述子への直接アクセスを許可します。例 php://fd/3 はファイル記述子 3 を指します。
php://memory: 一時データの読み取りと書き込みを許可します。 データをメモリに保存します。
php://temp: 上記と同様、メモリ量が事前定義された制限 (デフォルトは 2MB) に達すると、一時ファイルに保存されます。
php://filter: フィルター。

PHP は、コンテキストとフィルターを通じてパッケージ化クラスを変更および拡張することもできます。

(1) コンテキストに関しては、たとえば、PHP は stream_context_create() を使用して、ファイルを取得するためのタイムアウトを設定する必要があります:
リーリー

(2) フィルターについては、まず PHP の組み込みフィルターを見てみましょう:

リーリー

カスタム フィルターは、次のように stream_filter_register() および組み込みの php_user_filter を使用して作成できます。 リーリー

PHP のストリーム関数のリストは次のとおりです。

リーリー

http://www.bkjia.com/PHPjc/998562.html

tru​​ehttp://www.bkjia.com/PHPjc/998562.html技術記事 PHP Streams (ストリーム)、phpstreams の詳細な紹介と使用法 PHP Streams は、通常の開発者がほとんど使用しない組み込みのコア操作であり、ファイル、ネットワーク、データ圧縮、その他のファイル操作を統合するために使用されます...
声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。