テキストファイルの読み込み

PHP:
テキストファイルの読み込み

How to: (方法)

PHPでテキストファイルを読む基本は簡単です。fopen()fgets()、そしてfclose()の関数を使います。ファイル全体を一度に読みたい時はfile_get_contents()が便利です。例を見てみましょう。

<?php
// ファイルを開く
$file = fopen("example.txt", "r");

// ファイルが正常に開いたかをチェック
if ($file) {
    // 一行ずつファイルを読む
    while (($line = fgets($file)) !== false) {
        echo $line;
    }
    // ファイルを閉じる
    fclose($file);
} else {
    // エラー処理
    echo "ファイルを開けませんでした。";
}

// もっと簡単にファイル全体を読む
$content = file_get_contents("example.txt");
echo $content;
?>

サンプルの出力:

こんにちは、これはテキストファイルです。
次の行です。

Deep Dive (深堀り)

昔は、ファイル読み込みはI/O操作で重要な部分でしたが、今でもその真価は変わりません。fopen()fgets()fclose()はC言語の標準ライブラリの関数を踏襲しています。しかも、PHPでのファイル読み込みには代替方法もあります。例えば、file()関数はファイルを読み、配列として各行を返します。readfile()関数はファイルの内容を読み出し、それを直接出力します。

パフォーマンスに関してですが、大きなファイルを扱う場合はメモリの消費を考えて、fgets()を使って一行ずつ読むか、fread()を使って特定のバイト数だけ読む方法が賢明です。

See Also (関連情報)