LoginSignup
5
6

More than 3 years have passed since last update.

PHP file_get_contents()とは

Posted at

今回はPHPで指定したファイルや文字列を読み込んでくれるfile_get_contents()を紹介してみようと思います。

file_get_contents()とは

一言で表すと指定したファイルやURLを全て文字列に読み込んでくれる関数になります。
リファレンスにはこう書いてあります。

リファレンス
file_get_contents ( string $filename [, bool $use_include_path = FALSE [, resource $context [, int $offset = 0 [, int $maxlen ]]]] ) : string
説明

_この関数は file() と似ていますが、 offset で指定した場所から開始し maxlen バイト分だけ ファイルの内容を文字列に読み込むという点が異なります。 失敗した場合、file_get_contents() は FALSE を返します。
file_get_contents()はファイルの内容を文字列に読み込む 方法として好ましいものです。もしOSがサポートしていれば パフォーマンス向上のためにメモリマッピング技術が使用されます。

引数

引数に当たる部分を解説していきます。
$filename
読み込みたいファイルやURLを指定します。
$use_include_path
指定するとinclude_pathからファイルを検索できます。
指定しない場合はfalseです。
$context
独自のコンテキストを使う場合に指定します。
使わない場合はNULLを返します。
$offset
読み込みを開始する位置を指定します。
$maxlen
読み込むデータの最大バイト数を指定します。
返り値
読み込んだファイル、URLの内容を文字列で返します。
読み込みに失敗した場合には、falseを返します。

サンプルコード

ファイルandURL

<?php
$file = file_get_contents('php.txt');//('〜')ここにファイル名やURLを入れる
echo $file;
?>

実行結果
php.txtの内容が文字列で返されます。

ファイルの一部

指定したファイルを「読み込み開始位置」から「読み込み終了位置」まで読み込み、それを出力するコードです。

<?php
$abc = file_get_contents('abc.txt');
var_dump( $abc );
$abc = file_get_contents('abc.txt', false, NULL, 3, 10);
var_dump( $abc );
?>
file_get_contents(ファイル,false, NULL,読み込み開始位置,読み込み終了位置)

実行結果


string(27) "abcdefghijklmnopqrstuvwxyz"
string(10) "defghijklm"

終わりに

PHPのファイルURLの内容を取得するfile_get_contentsでサーバーの設定によっては、データの取得ができない場合がありました。そのような場合でも他にcURLというものが存在するので、こちらを使ってみてもいいと思います。
その内cURLの記事も載せるのでよかったらみてください。

参考サイト
https://webkaru.net/php/function-file-get-contents/
https://www.php.net/manual/ja/function.file-get-contents
https://www.tam-tam.co.jp/tipsnote/program/post8753.html
https://qiita.com/shinkuFencer/items/d7546c8cbf3bbe86dab8

5
6
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
5
6