stream_get_contents

残りのストリームを文字列に読み込む

説明

stringfalse stream_get_contents(resource $stream, intnull $length = null, int $offset = -1)

file_get_contents と似ていますが、 stream_get_contents は既にオープンしている ストリームリソースに対して操作を行います。そして、指定した offset から始まる最大 length バイトのデータを取得して文字列に 保存します。

パラメータ

stream (resource)

ストリームリソース(例: fopen の返す値)。

length (int)

読み込む最大バイト数。デフォルトは null (バッファの残りのデータをすべて読み込む)。

offset (int)

読み込みを開始する前に移動する位置。負の数を指定した場合は移動が発生せず、 現在位置から読み込みを開始します。

戻り値

文字列を返します。失敗した場合に false を返します。

変更履歴

バージョン 説明
8.0.0 length は、nullable になりました。

例1 stream_get_contents の例

<?php

if ($stream = fopen('http://www.example.com', 'r')) {
    // オフセット 10 から開始して、残りのすべてのページを表示します
    echo stream_get_contents($stream, -1, 10);

    fclose($stream);
}


if ($stream = fopen('http://www.example.net', 'r')) {
    // 最初の 5 バイトを表示します
    echo stream_get_contents($stream, 5);

    fclose($stream);
}

?>

注意

注意: この関数はバイナリデータに対応しています。

注意:

length の値に null 以外を指定した場合、 この関数はすぐにその指定したサイズの内部バッファを確保します。 たとえ、実際に扱うコンテンツが十分小さかったとしても同じです。

参考

  • fgets
  • fread
  • fpassthru