stream_get_contents

(PHP 5, PHP 7)

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

説明

stream_get_contents ( resource $handle [, int $maxlength = -1 [, int $offset = -1 ]] ) : string

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

パラメータ

handle (resource)

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

maxlength (integer)

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

offset (integer)

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

返り値

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

変更履歴

バージョン 説明
5.1.0 offset が追加されました。

例1 stream_get_contents() の例

<?php

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

    
fclose($stream);
}


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

    
fclose($stream);
}

?>

注意

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

参考

  • fgets() - ファイルポインタから 1 行取得する
  • fread() - バイナリセーフなファイルの読み込み
  • fpassthru() - ファイルポインタ上に残っているすべてのデータを出力する