関数・クラス解説

file

version:PHP 4, PHP 5, PHP 7 (公式)

ファイル全体を読み込んで配列に格納する

公式リファレンス

書式

file ( string $filename [, int $flags = 0 [, resource $context ]] ) : array

説明

ファイル全体を配列に読み込みます。

注意:

ファイルの内容を文字列として返すには file_get_contents() を使用します。

パラメータ

filename
ファイルへのパス。
ヒントfopen wrappers が有効の場合、この関数のファイル名としてURL を使用することができます。ファイル名の指定方法に関する詳細はfopen() を参照ください。サポートするプロトコル/ラッパー には、さまざまなラッパーの機能やその使用法、提供される定義済み変数などの情報がまとめられています。
flags
オプションのパラメータ flags は、以下の定数のうちのひとつ、あるいは複数の組み合わせとなります。
FILE_USE_INCLUDE_PATH
include_path のファイルを探します。
FILE_IGNORE_NEW_LINES
配列の各要素の最後の改行を省略します。
FILE_SKIP_EMPTY_LINES
空行を読み飛ばします。
context
stream_context_create() 関数で作成したコンテキストリソース。
注意: コンテキストのサポートは、PHP 5.0.0 で追加されました。contexts の説明に関しては、ストリーム を参照してください。

返値

ファイルを配列に入れて返します。 配列の各要素はファイルの各行に対応します。改行記号はついたままとなります。 失敗すると file() は FALSE を返します。

注意: FILE_IGNORE_NEW_LINES を指定しない限り、 配列に取り込まれた各行は行末文字も含みます。
注意: マッキントッシュコンピュータ上で作成されたファイルを読み込む際に、PHP が行末を認識できないという問題が発生した場合、実行時の設定オプションauto_detect_line_endings を有効にする必要が生じるかもしれません。

エラー

ファイルが存在しない場合は E_WARNING レベルのエラーが発生します。

注意

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

サンプル

例1 file() の例

// ファイルの内容を配列に取り込みます。 // この例ではHTTPを通してURL上のHTMLソースを取得します。 $lines = file('http://www.example.com/'); // 配列をループしてHTMLをHTMLソースとして表示し、行番号もつけます。 foreach ($lines as $line_num => $line) {     echo "Line #{$line_num} : " . htmlspecialchars($line) . "\n"; } // 他の例として、Webページを文字列に取り込みます。file_get_contents()も参照してください。 $html = implode('', file('http://www.example.com/')); // オプションのパラメータは PHP 5 以降で使用できます $trimmed = file('somefile.txt', FILE_IGNORE_NEW_LINES | FILE_SKIP_EMPTY_LINES);

参考

  • readfile() - ファイルを出力する
  • fopen() - ファイルまたは URL をオープンする
  • fsockopen() - インターネット接続もしくは Unix ドメインソケット接続をオープンする
  • popen() - プロセスへのファイルポインタをオープンする
  • file_get_contents() - ファイルの内容を全て文字列に読み込む
  • include - include
  • stream_context_create() - ストリームコンテキストを作成する
  • ワード検索


    ※入力キーワードが、関数名・説明文・タグに含まれるものを検索

    関数名アルファベット別

    A B C D E F G H I J
    K L M N O P Q R S T
    U V W X Y Z _

    最終更新一覧

    stristr
     大文字小文字を区別せず文字列を検索し、ヒット箇所以降(あるいは以前)の文字列を返却

    stripslashes
     バックスラッシュでエスケープされた文字列から、バックスラッシュを取り除く

    stripos
     大文字小文字を区別せずに文字列が最初に現れる位置を取得する

    stripcslashes
     addcslashes() でクォートされた文字列をアンクォートする

    strip_tags
     文字列から HTML と PHP のタグを除去して返却

    strcspn
     指定した文字が最初に現れる位置を調べる

    strcoll
     ロケールに基づいて2つの文字列を比較し同じか(あるいは大小)を判定する

    strcmp
     2つの文字列を比較し同じか(あるいは大小)を判定する

    strchr
     strstr() のエイリアス

    strcasecmp
     2つの文字列を比較(大文字小文字を区別せず同じとみなす)

    カテゴリー一覧

    PHP の振る舞いの変更
    音声フォーマットの操作
    認証サービス
    コマンドライン関連
    圧縮およびアーカイブ
    暗号
    データベース関連
    日付および時刻関連
    ファイルシステム
    自然言語および文字エンコーディング
    画像処理および作成
    メール関連
    数学
    テキスト以外の MIME 型
    プロセス制御
    その他の基本モジュール
    その他のサービス
    検索エンジン用の拡張モジュール
    サーバー固有のモジュール
    セッション関連
    テキスト処理
    変数・データ型関連
    ウェブサービス
    Windows 用のモジュール
    XML 操作
    GUI用の拡張モジュール