無料CGI、PHPサイト(確認画面付きメールフォーム・メーリングリスト・メルマガ設置、逆アクセスランキング、画像カウンター等)PHPマニュアル by k-sky

file_get_contents

(PHP 4 >= 4.3.0, PHP 5)

file_get_contentsファイルの内容を全て文字列に読み込む

説明

string file_get_contents ( string $filename [, int $flags [, resource $context [, int $offset [, int $maxlen ]]]] )

この関数は file() と似ていますが、 offset で指定した場所から開始し maxlen バイト分だけ ファイルの内容を文字列に読み込むという点が異なります。 失敗した場合、file_get_contents()FALSE を返します。

file_get_contents()はファイルの内容を文字列に読み込む 方法として好ましいものです。もしOSがサポートしていれば パフォーマンス向上のためにメモリマッピング技術が使用されます。

注意: 空白のような特殊な文字を有する URI をオープンする場合には、 urlencode() でその URI をエンコードする必要があります。

パラメータ

filename

データを読み込みたいファイルの名前。

flags
警告

PHP 6 より前のバージョンでは、このパラメータは use_include_path という名前の bool パラメータでした。この flags パラメータは PHP 6 以降でのみ使用可能です。古いバージョンを使用しており、 filenameインクルードパス から探したい場合は、このパラメータには TRUE を設定することになるでしょう。 PHP 6 以降の場合は、同じ動作をさせたい場合は FILE_USE_INCLUDE_PATH フラグを指定します。

flags の値は、以下のフラグを組み合わせたものとなります (組み合わせ方には多少制限があります)。組み合わせる際には、論理 OR (|) 演算子で連結します。

使用できるフラグ
フラグ 説明
FILE_USE_INCLUDE_PATH filename をインクルードディレクトリから探します。 詳細な情報は include_path を参照ください。
FILE_TEXT unicode が有効な場合、データ読み込み時のデフォルトのエンコーディングは UTF-8 です。 別のエンコーディングを指定するには、 独自のコンテキストを作成するか、あるいは stream_default_encoding() でデフォルトを変更します。 このフラグは FILE_BINARY と同時に使用することはできません。
FILE_BINARY このフラグを指定すると、ファイルをバイナリモードで読み込みます。これはデフォルトの設定で、 FILE_TEXT と同時に使用することはできません。

context

stream_context_create() で作成したコンテキストリソース。 独自のコンテキストを使用する必要がない場合は、このパラメータに NULL を指定します。

offset

読み込みを開始するオフセット位置。

maxlen

読み込むデータの最大バイト数。

返り値

読み込んだデータを返します。失敗した場合は FALSE を返します。

変更履歴

バージョン 説明
5.0.0 コンテキストサポートが追加されました。
5.1.0 offsetmaxlen パラメータが追加されました。
6.0.0 use_include_path パラメータが flags パラメータに置き換えられました。

注意

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

ヒント

fopen wrappers が有効の場合、この関数のファイル名として URL を使用することができます。ファイル名の指定方法に関する詳細は fopen()、サポートされる URL プロトコルの種類 については、(例えば)サポートされるプロトコル/ラッパー を参照してください。

警告

IIS のような、いくつかの標準に 対応してない Web サーバは、PHP に警告を発生させるような手順でデータを送信します。 このようなサーバを使用する場合は、 error_reporting を警告を発生しないレベルまで小さくする必要があります。 PHP 4.3.7 以降では、https:// ラッパーでストリームをオープンする際に バグがある IIS サーバソフトウエアを検出することができ、この警告を抑制することができます。 あなたが ssl:// ソケットを作成するために fsockopen() を使用している場合、 自らこの警告を検出し、抑制する必要があります。