関数 file_get_contents

関数 file_get_contents はファイルの内容を読み取り、 文字列として返します。第一引数にはファイルへのパス、第二引数には インクルードパス検索フラグ、第三引数にはストリームコンテキスト、 第四引数には読み取り開始オフセット、第五引数には読み取るデータの最大長を渡します。

第三引数は、絶対パスだけでなく、PHPの設定で指定された標準ディレクトリ内でファイルを検索する必要がある場合に特に便利です。

構文

phpfile_get_contents(
  string $filename,
  bool $use_include_path = false,
  ?resource $context = null,
  int $offset = 0,
  ?int $maxlen = null
): string|false

パラメータ

パラメータ 説明
filename ファイルパスまたはURL
use_include_path trueに設定すると、関数はファイルを PHP設定ファイル php.ini のパラメータ include_path で指定されたディレクトリ内で検索します。 デフォルトは falseです。
context ストリームコンテキストリソース
offset 読み取り開始オフセット
maxlen 読み取るデータの最大長

例

ローカルファイルの内容の読み取り:

php<?php
  $res = file_get_contents('data.txt');
  echo $res;
?>

コード実行結果:

php'abcde'

例

オフセットと長さを指定してファイルの一部を読み取る:

php<?php
  $res = file_get_contents('data.txt', false, null, 1, 3);
  echo $res;
?>

コード実行結果:

php'bcd'

例

Webページの内容の読み取り:

php<?php
  $res = file_get_contents('https://example.com');
  echo substr($res, 0, 50) . '...';
?>

コード実行結果:

php'<!doctype html><html><head><title>Example D...'

例

include_path内でのファイル検索:

php<?php
  $res = file_get_contents('config.ini', true);
  echo $res;
?>

コード実行結果:

php'config_data'

ストリームコンテキストパラメータ

パラメータ context は、ファイルやネットワークリソースの操作時の 関数の動作を変更できるストリームコンテキストリソースを渡すことを可能にします。

stream_context_create 関数で作成されたコンテキストリソースです。 特別な設定が不要な場合は、null を渡すことができます。

コンテキストの機能:

使用例:

php<?php
  $opts = [
    'http' => [
      'method' => "GET",
      'header' => "Accept-language: en\r\n"
    ]
  ];
  $context = stream_context_create($opts);
  $res = file_get_contents('https://example.com', false, $context);
?>

関連項目

  • データをファイルに書き込む関数 file_put_contents
  • ファイルを開く関数 fopen
  • ファイルを行の配列として読み込む関数 file