【PHP8.x】stream_get_meta_data関数の使い方
作成日: 更新日:
stream_get_meta_data関数は、指定されたストリームのメタデータを取得する関数です。PHPにおけるストリームとは、ファイルやネットワーク接続など、連続するデータの流れを扱うための抽象的な仕組みを指します。この関数は、現在開かれているストリームの様々な属性や状態に関する情報を取得するために利用されます。
引数には、fopen()
関数やfsockopen()
関数などで開かれた有効なストリームリソースを渡します。例えば、開かれたファイルの読み書きモードや、ネットワークソケットのタイムアウト設定など、ストリームに関する詳細な情報を知りたい場合に役立ちます。
この関数は、ストリームのメタデータを含む連想配列を返します。この配列には、ストリームが読み込みモードか書き込みモードかを示すmode
、パスのエイリアスを示すuri
、バッファリングの状態を示すunread_bytes
、ブロックモードかどうかを示すblocked
、タイムアウト設定を示すtimed_out
、ソケットの型を示すstream_type
といった要素が含まれることがあります。これらの情報は、ストリームを安全かつ効率的に操作するために重要です。例えば、ファイルの終端に達したかどうかを確認したり、ネットワーク通信のタイムアウトを検出したりする際に、このメタデータを利用することができます。
基本的な使い方
構文(syntax)
<?php
$stream = fopen('php://temp', 'r+');
$metaData = stream_get_meta_data($stream);
fclose($stream);
引数(parameters)
resource $stream
- resource $stream: メタデータを取得したいストリームリソース
戻り値(return)
array
ストリームに関するメタデータ(プロトコル名、ホスト名、ポート番号、パス、フラグ、オプションなど)を連想配列形式で返します。