tech.chakapoko.com
Home / PHP / ファイル操作

[PHP]ファイルを読み込む

ファイルの内容をまとめて読み込む

file_get_contents 関数を利用する

ファイルの内容をまとめて読み込むには関数を file_get_contents 使います。

次のコードはファイルの内容をまとめて読み込み表示します。

<?php

$contents = file_get_contents('test.txt');
echo $contents;

file 関数を利用する

file 関数を使うとファイルの内容をまとめて読み込んで行の配列にできます。

次のコードはファイルの内容をまとめて配列として読み込み表示します。

<?php

$lines = file('test.txt');

foreach ($lines as $line) {
    echo $line;
}

ファイルを少しずつ読み込む

  1. fopen 関数でファイルをオープンする
  2. fgetc 関数、または fgets 関数でファイルの内容を読み込む
  3. fclose 関数でファイルをクローズする

の順序で行います。

ファイルを一文字ずつ読み込む

ファイルを一文字ずつ読み込むには fgetc 関数を使います。

次のコードはファイルの内容を一文字ずつ読み込み表示します。

<?php

$f = fopen('test.txt', 'r');

while (true) {
    $c = fgetc($f);
    if ($c === false) {
        break;
    }

    echo $c;
}

fclose($f);

これは短く次のようにもかけます。

<?php

$f = fopen('test.txt', 'r');

while (($c = fgetc($f)) !== false) {
    echo $c;
}

fclose($f);

ファイルを一行ずつ読み込む

ファイルを一行ずつ読み込むには fgets 関数を使います。

次のコードはファイルの内容を一行ずつ読み込み表示します。

<?php

$f = fopen('test.txt', 'r');

while (true) {
    $line = fgets($f);
    if ($line === false) {
        break;
    }

    echo $line;
}

fclose($f);

これは短く次のようにもかけます。

<?php

$f = fopen('test.txt', 'r');

while (($line = fgets($f)) !== false) {
    echo $line;
}

fclose($f);

ファイルを読み込んでそのまま表示する

ファイルを読み込んでそのまま表示するのは readfile 関数を使うだけでもできます。

<?php
readfile('test.txt');