関数 file_get_contents
関数 file_get_contents はファイルの内容を読み取り、
文字列として返します。第一引数にはファイルへのパス、第二引数には
インクルードパス検索フラグ、第三引数にはストリームコンテキスト、
第四引数には読み取り開始オフセット、第五引数には読み取るデータの最大長を渡します。
第三引数は、絶対パスだけでなく、PHPの設定で指定された標準ディレクトリ内でファイルを検索する必要がある場合に特に便利です。
構文
file_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
$res = file_get_contents('data.txt');
echo $res;
?>
コード実行結果:
'abcde'
例
オフセットと長さを指定してファイルの一部を読み取る:
<?php
$res = file_get_contents('data.txt', false, null, 1, 3);
echo $res;
?>
コード実行結果:
'bcd'
例
Webページの内容の読み取り:
<?php
$res = file_get_contents('https://example.com');
echo substr($res, 0, 50) . '...';
?>
コード実行結果:
'<!doctype html><html><head><title>Example D...'
例
include_path内でのファイル検索:
<?php
$res = file_get_contents('config.ini', true);
echo $res;
?>
コード実行結果:
'config_data'
ストリームコンテキストパラメータ
パラメータ context は、ファイルやネットワークリソースの操作時の
関数の動作を変更できるストリームコンテキストリソースを渡すことを可能にします。
stream_context_create 関数で作成されたコンテキストリソースです。
特別な設定が不要な場合は、null を渡すことができます。
コンテキストの機能:
- リクエスト時のHTTPヘッダーの設定
- 接続タイムアウトの設定
- プロキシサーバーの指定
- SSL/TLSパラメータの操作
- ファイルシステムアクセスの設定
使用例:
<?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