カテゴリ: PHP 更新日: 2025/05/29

PHP の file_get_contents() を使ってファイルを読み込む方法!初心者でもできる簡単なファイル操作

PHP の file_get_contents() を使ってファイルを読み込む
PHP の file_get_contents() を使ってファイルを読み込む

新人と先輩の会話形式で理解しよう

新人

「PHPでファイルの中身を読み込みたいんですけど、どうすればいいですか?」

先輩

「PHPには、file_get_contents()という簡単な方法があります。これを使えば、ファイルの内容を一行で読み込むことができますよ。」

新人

「それは便利ですね!具体的にはどうやって使うんですか?」

先輩

「では、file_get_contents()の使い方を実際に見てみましょう!」

-

1. file_get_contents()とは?

1. file_get_contents()とは?
1. file_get_contents()とは?

file_get_contents()は、指定したファイルを読み込み、その内容を文字列として返すPHPの組み込み関数です。これを使うことで、簡単にファイルのデータを一度に取得することができます。

たとえば、テキストファイルやJSONファイルなどの内容をプログラム内で利用したいときに便利です。

2. file_get_contents()を使う理由

2. file_get_contents()を使う理由
2. file_get_contents()を使う理由

ファイルを開いて、読み込んで、閉じるという一連の操作を行うのは少し手間がかかります。しかし、file_get_contents()を使うと、たった1行でファイルの内容を取得できるので、非常に効率的です。

次の例を見てみましょう。以下のコードで、sample.txtというファイルの内容を簡単に読み込むことができます。


$file_contents = file_get_contents('sample.txt');
echo $file_contents;

このコードは、sample.txtというファイルを読み込み、その中身を画面に表示します。

3. file_get_contents()を使ったファイルの読み込み例(簡単なコードを使って)

3. file_get_contents()を使ったファイルの読み込み例(簡単なコードを使って)
3. file_get_contents()を使ったファイルの読み込み例(簡単なコードを使って)

ここでは、実際にファイルを読み込む簡単な例を見てみましょう。

たとえば、example.txtというファイルに書かれた内容を、PHPで簡単に読み込む方法です。


$file_path = 'example.txt';
$file_contents = file_get_contents($file_path);
echo nl2br($file_contents); // 改行を保持して表示

このコードでは、ファイルexample.txtを読み込み、その内容をそのままブラウザに表示します。nl2br()関数を使うことで、ファイル内の改行をHTMLの改行タグに変換し、画面で正しく表示されるようにしています。

このように、file_get_contents()を使うと、ファイルの中身を簡単に取得して表示することができます。

4. 読み込んだデータを表示する方法

4. 読み込んだデータを表示する方法
4. 読み込んだデータを表示する方法

ファイルを読み込んだ後、そのデータをどのように表示するかについても考えましょう。

例えば、JSONファイルの内容を読み込んで、その中身をデコードして表示する例を見てみます。


$file_path = 'data.json';
$file_contents = file_get_contents($file_path);
$data = json_decode($file_contents, true); // JSONデータを連想配列にデコード
echo '<pre>' . print_r($data, true) . '</pre>';

このコードでは、data.jsonというファイルからデータを読み込み、json_decode()を使ってJSONデータをPHPの連想配列に変換しています。その後、print_r()関数で内容をわかりやすく表示しています。

これによって、JSONファイルの内容を簡単に処理して、表示することができます。

-

5. file_get_contents()のエラーハンドリング(注意点)

5. file_get_contents()のエラーハンドリング(注意点)
5. file_get_contents()のエラーハンドリング(注意点)

file_get_contents()は、ファイルが存在しない場合や読み込みが失敗した場合にfalseを返します。エラーが発生したときに備えて、エラーハンドリングを行うことが重要です。

以下の例では、ファイルの読み込みに失敗した場合にエラーメッセージを表示する方法を示します。


$file_path = 'non_existent_file.txt';
$file_contents = file_get_contents($file_path);
if ($file_contents === false) {
    echo 'ファイルの読み込みに失敗しました。';
} else {
    echo 'ファイルの内容: ' . nl2br($file_contents);
}

このコードでは、ファイルnon_existent_file.txtを読み込もうとしていますが、存在しないファイルなので、file_get_contents()falseを返します。エラーが発生した場合には、「ファイルの読み込みに失敗しました。」というメッセージを表示します。

エラーハンドリングを行うことで、ユーザーがエラーの原因を理解できるようにし、プログラムの挙動を安定させることができます。

6. file_get_contents()を使う際の注意点(大きなファイルの取り扱いなど)

6. file_get_contents()を使う際の注意点(大きなファイルの取り扱いなど)
6. file_get_contents()を使う際の注意点(大きなファイルの取り扱いなど)

file_get_contents()は非常に便利な関数ですが、大きなファイルを読み込む際には注意が必要です。

例えば、非常に大きなテキストファイルやログファイルを一度に読み込んでしまうと、サーバーのメモリを大量に消費してしまい、パフォーマンスが低下したり、最悪の場合、メモリ不足でプログラムがクラッシュすることがあります。

大きなファイルを扱う際には、以下のような方法を検討することが重要です。

  • ファイルを一度に全て読み込むのではなく、少しずつ読み込む方法を使う。
  • ファイルの読み込みが必要ない場合は、ファイルの内容をそのまま表示しない。

以下は、大きなファイルを分割して読み込む方法の一例です。


$file_path = 'large_file.txt';
$handle = fopen($file_path, 'r');
while (($line = fgets($handle)) !== false) {
    echo $line; // 1行ずつ出力
}
fclose($handle);

上記のコードでは、fgets()関数を使って1行ずつファイルを読み込んでいます。この方法なら、メモリを過剰に消費することなく大きなファイルを扱うことができます。

7. file_get_contents()と他のファイル読み込み方法(例えばfopen()との違い)

7. file_get_contents()と他のファイル読み込み方法(例えばfopen()との違い)
7. file_get_contents()と他のファイル読み込み方法(例えばfopen()との違い)

file_get_contents()は便利で簡単にファイルを読み込むことができますが、他にもファイルを読み込む方法としてfopen()fread()などがあります。それぞれの関数の使い方と違いを見てみましょう。

file_get_contents()は、ファイルを全て読み込んでその内容を返す関数です。シンプルで使いやすいですが、ファイルが大きくなるとメモリを大量に消費する可能性があります。

fopen()fread()は、より細かい制御が可能です。fopen()でファイルを開き、fread()でデータを必要な分だけ読み込むことができます。

以下に、fopen()fread()を使ったファイル読み込みの例を示します。


$file_path = 'sample.txt';
$handle = fopen($file_path, 'r');
if ($handle) {
    $content = fread($handle, filesize($file_path)); // ファイルの内容を全て読み込む
    echo $content;
    fclose($handle);
} else {
    echo 'ファイルが開けませんでした。';
}

この方法では、fopen()でファイルを開き、fread()でファイルの内容を読み込んでいます。file_get_contents()と違って、ファイルを開いた後にデータを読み込む方法を選択できるので、より柔軟に対応できます。

8. 実践!簡単なファイル読み込みを使ったアプリケーションの例

8. 実践!簡単なファイル読み込みを使ったアプリケーションの例
8. 実践!簡単なファイル読み込みを使ったアプリケーションの例

ここでは、ファイルの読み込みを活用した簡単なアプリケーションの例を紹介します。

たとえば、ユーザーがアップロードしたテキストファイルを読み込んで、その内容を画面に表示するWebアプリケーションです。


if ($_SERVER['REQUEST_METHOD'] === 'POST' && isset($_FILES['file'])) {
    $file = $_FILES['file']['tmp_name'];
    if (is_uploaded_file($file)) {
        $file_contents = file_get_contents($file);
        echo '<pre>' . htmlspecialchars($file_contents) . '</pre>';
    } else {
        echo 'ファイルがアップロードされませんでした。';
    }
}
?>
<form action="" method="post" enctype="multipart/form-data">
    <input type="file" name="file">
    <input type="submit" value="アップロード">
</form>

このコードでは、ユーザーがフォームからテキストファイルをアップロードし、その内容をfile_get_contents()で読み込んで、ブラウザに表示しています。htmlspecialchars()を使って、HTMLの特殊文字を適切に処理しています。

これで、ファイルを読み込み、表示するWebアプリケーションが完成します。

コメント
コメント投稿は、ログインしてください

まだ口コミはありません。

カテゴリの一覧へ
新着記事
Pythonのエラーメッセージの読み方!よくあるエラーと解決方法
PHPの関数(function)の基本を完全ガイド!初心者でもわかる使い方
Pythonの条件式でNoneを判定する方法!is None vs == None の違い
Pythonのpass文とは?一時的なコードブロックをスキップする方法
人気記事
No.1
Java&Spring記事人気No1
PHPの配列をソートする方法!sort, rsort, asort, ksortの使い方を丁寧に解説します!
No.2
Java&Spring記事人気No2
PHPとは?初心者向けにわかりやすく解説
No.3
Java&Spring記事人気No3
PHPの関数(function)の基本を完全ガイド!初心者でもわかる使い方
No.4
Java&Spring記事人気No4
PHP の文字列の基本操作(連結・切り出し・長さ)の使い方
-