PHP
 Computer >> コンピューター >  >> プログラミング >> PHP

PHPのfile()関数とは?使い方・パラメータ・戻り値をわかりやすく解説

PHPのfile()関数は、指定したファイル全体を読み込み、その内容を行ごとに分割した配列として返す関数です。テキストファイルを簡単に扱いたい場合に便利な基本関数の一つです。

構文

file(file_path, flag, context)

パラメータ

  • file_path − 読み込みたいファイルへのパスを指定します。

  • flag − 省略可能なパラメータで、以下の定数を1つ、または複数組み合わせて指定できます。

    • FILE_USE_INCLUDE_PATH − include_path の中からファイルを検索します。

    • FILE_IGNORE_NEW_LINES − 配列の各要素の末尾に改行文字を追加しません。

    • FILE_SKIP_EMPTY_LINES − 空行を読み飛ばします。

    • FILE_TEXT − 内容をUTF-8エンコーディングで返します。独自のコンテキストを作成することで、別のエンコーディングを指定することも可能です。このフラグはFILE_BINARYと併用できません。PHP 6以降でのみ利用できます。

    • FILE_BINARY − 内容をバイナリデータとして読み込みます。これがデフォルト設定であり、FILE_TEXTと併用できません。PHP 6以降でのみ利用できます。

  • context − ストリームの動作を変更するためのコンテキストを指定します。

戻り値

file()関数は、ファイルの内容を配列として返します。各要素はファイルの1行に対応し、読み込みに失敗した場合はfalseを返します。

使用例

例えば、次のような内容が記述された「continents.txt」というファイルがあるとします。

地球には7つの大陸があります。
大陸は、アジア、アフリカ、北アメリカ、南アメリカ、南極大陸、ヨーロッパ、オーストラリアです。
アジアは面積が最も大きい大陸です。
オーストラリアは面積が最も小さい大陸です。

このファイルをfile()関数で読み込んでみましょう。

サンプルコード

<?php
    print_r(file("continents.txt"));
?>

実行結果

Array
(
    [0] => 地球には7つの大陸があります。
    [1] => 大陸は、アジア、アフリカ、北アメリカ、南アメリカ、南極大陸、ヨーロッパ、オーストラリアです。
    [2] => アジアは面積が最も大きい大陸です。
    [3] => オーストラリアは面積が最も小さい大陸です。
)

ポイントまとめ

  • file()関数はファイルの内容を行単位の配列で取得できるため、foreach文などと組み合わせると行ごとの処理が簡単に行えます。

  • デフォルトでは各行の末尾に改行文字が含まれるため、不要な場合はFILE_IGNORE_NEW_LINESを指定しましょう。

  • 空行を除外したい場合はFILE_SKIP_EMPTY_LINESを組み合わせることで、より整形された配列を取得できます。

  1. PHPのdelete()関数とは?使い方とサンプルコードをわかりやすく解説

    PHPのdelete()関数は、指定したファイルを削除するための関数です。削除したいファイルのパスをパラメータとして渡すことで、そのファイルをシステムから削除できます。 構文(Syntax) delete(file_path) パラメータ(Parameters) file_path: 削除したいファイルのパスを指定します。相対パス・絶対パスのどちらでも指定可能です。 戻り値(Return) delete()関数は、処理結果に応じて以下のブール値を返します。 true: ファイルの削除が成功した場合 false: ファイルの削除に失敗した場合(ファイルが存在しない、権限がないなど) 使用

  2. PHPのcopy()関数とは?使い方・パラメータ・実行例をわかりやすく解説

    PHPのcopy()関数は、指定したファイルを別の場所へコピーするための組み込み関数です。この関数を実行すると、コピー元(ソース)ファイルをもとに、コピー先(デスティネーション)として新しいファイルが作成されます。なお、コピー先にすでに同名のファイルが存在する場合は、そのファイルは上書きされる点に注意してください。構文(Syntax)copy(source_file, dest_file)パラメータsource_file − コピー元となるファイルを指定します。dest_file − コピー先のファイルパスを指定します。戻り値(Return値)copy()関数は、処理結果に応じて以下のブール値