PHP:file_get_contents() で読み込むバイト数に制限をかける

PHP には file_get_contents() というファイルの内容を取得する関数があるのですが、URL を指定すれば HTTP 経由の情報(HTML など)を取得することも可能です。

また、取得先の情報をすべて読み込まなくてもよい場合には、バイト数を指定して読み込む量を制限することも可能です。

そのコードサンプルを残しておきます。

まず、関数の説明を PHP マニュアルから。
[code lang=’php’] string file_get_contents ( string filename [, bool use_include_path [, resource context [, int offset [, int maxlen]]]] )
[/code]

引数については次の通り。

  • filename は、取得したいファイルの名前
  • use_include_path は、ファイルの検索先に include_path に設定されたパスを検索対象とするかどうかの指定
  • context は、ストリームコンテキストを利用するのであれば指定
  • offset は、読み込みを開始するバイト数を指定
  • maxlen は、読み込みたいバイト数を指定

ということで、http://www.example.com/ からデータを 500 バイト分、データの 100 バイト目から取得したいという場合には、次の様に書きます。

[code lang=’php’] $data = file_get_contents(‘http://www.example.com/’, false, null, 100, 500);
[/code]

便利な関数です。

え?Webサイトのバックアップ、してないの!?

いざという時には復旧までしてくれる
『ワードプレス外部バックアップサービス』

■3つの特長
・自分でやらなくて良い
・いざという時の復旧付き
・外部サーバーにバックアップ

コメントを残す