PHPでのファイルの読み込み方法!テキストを1行ずつ/全文取得する方法を解説!

PHPでファイルの読み込みをするときには、関数を使って配列を取得しながら読み込みをします。この記事では、PHPを1行ずつファイルの読み込みをする場合と、全文を一度に取得する場合のそれぞれについて、利用する関数の使い方をわかりやすく解説します。

PHPでのファイルの読み込み方法!テキストを1行ずつ/全文取得する方法を解説!のイメージ

目次

  1. 1PHPファイルは関数を使って読み込みする!
  2. 2PHPファイルの全文の読み込みを簡単に行う方法
  3. file_get_contents関数で全文を読み込み
  4. 3PHPファイルを行単位の配列として読み込みする方法
  5. fgets関数でテキストを行単位で読み込み
  6. 4CSVファイルをPHPで読み込みする方法
  7. fgetcsv関数を使う方法
  8. 文字化けを防ぐ方法
  9. 5PHPでファイルの情報を取得する方法
  10. ファイルサイズを取得する方法
  11. 更新日時を取得する方法
  12. 6PHPでファイルの読み込み処理の方法を覚えよう!

PHPファイルは関数を使って読み込みする!

PHPを利用できる環境をPCに整えたら、まず始めることは自分でPHPのプログラムを書けるようにすることです。自分でPHPのプログラムを書けないと、PHPで何ができて、どのようなことが実行されているのか理解できません。

しかし、ある程度プログラムを書けるようになってきて、実践段階に入ったら、外部のファイルの読み込みも行っていきます。外部ファイルの読み込みができるようになれば、プログラムファイルの内容に厚みが出てきます。

この記事では、PHPで外部ファイルの読み込みをしていきましょう。PHPでファイルを読み込みするためには、関数を利用します。この記事では、PHPで関数を使って外部ファイルを読み込みする方法について詳しく解説します。

テスト用のファイルとして、PHPの実行フォルダに次のテキストファイルを作成しておきました。
 

1行目 これはテストです。
2行目 今日のテストは順調です。
3行目 このテストの結果を見てみましょう。

Thumbショートカット(旧:Workflow)の自動化プログラミングで自作レシピの作成方法を解説!
ショートカット(旧:Workflow ワークフロー)の自動化プログラミングで自作レシピを作成...

PHPファイルの全文の読み込みを簡単に行う方法

まずは外部ファイルの全文の読み込みを簡単にできる方法を解説します。PHPで、ファイル全文の読み込みをする方法は次の通りです。

file_get_contents関数で全文を読み込み

PHPでファイルの全文を読み込むための関数は「file_get_contents」という関数を利用します。これとは別に「file」という関数もあります。fileとfile_get_contentsの違いは、fileはファイルそのものを配列として読み込みます。一方でfile_get_contentsは、ファイルを文字列として読み込みます。

ファイルの中に別のファイルを読み込む場合には、文字列としてファイルの読み込みするのが普通なので、通常はfile_get_contentsを利用します。file_get_contentsでうまく読み込めないときにはfileを使いましょう。

それではPHPでプログラムを書いてみましょう。
 

<?php
$contents = file_get_contents("test.txt");
echo $contents;
?>

PHPでファイルの読み込みをする方法

これをブラウザ上で実行してみると、上記の画像の様にテキストファイルが読み込みされて、PHPで全文の読み込みが実行されています。

ThumbプログラミングにはMacがおすすめ!開発向けのスペックでパソコンを選ぼう!
これからプログラミングの勉強を始めようと思っている皆さんは、PC選びで悩んでいませんか?Ma...

PHPファイルを行単位の配列として読み込みする方法

PHPで読み込みたいファイルがあった場合、全文は必要なく、ファイルの一部分の配列だけ読み込みできればいい場合もあります。そのような場合には、ファイルの配列を1行ずつ読み込みしましょう。こちらでは、PHPでファイルの配列を1行ずつ読み込みする方法について解説します。

fgets関数でテキストを行単位で読み込み

1行ずつPHPでファイルを読み込む場合には、「fgets」という関数を使います。fgetsという関数は、指定されたファイルの中から、指定された1行の配列だけを取り出すための関数です。

この記事の一番最初に作ったテキストファイルの中から、2行目の「2行目 今日のテストは順調です」だけをファイルから読み込むためのプログラムを作成してみましょう。

基本的なプログラムの書き方は次の通りです。
 

<?php
$fp = fopen("読み込むファイル名", "r");
$line = fgets($fp);
echo "$line<br>";
fclose($fp);
?>

実行するプログラムは次の通りです。
<?php
$fp = fopen("test.txt", "r");
$line = fgets($fp);
echo "$line<br>";
fclose($fp);
?>

ブラウザで実行結果を確認してみます。

PHPでファイルの読み込みをする方法

1行の配列だけが読み込みされています。

ThumbPythonで簡単なDiscord Botの作り方!プログラミング初心者にもわかりやすく解説!
Discordでのやり取りにBotを活用しませんか?定番の応答や、あらかじめ決めた送信作業な...

CSVファイルをPHPで読み込みする方法

CSVファイルもPHPで読み込みができます。CSVファイルをPHPで読み込みして出力する方法も見ておきましょう。あらかじめ読み込みするCSVファイルをPHPを実行するフォルダに保存しておきます。それでは、このファイルをPHPに読み込みする方法を解説します。

fgetcsv関数を使う方法

fgetcsvを使ってCSVファイルをPHPで読み込みする方法です。fgetcsvはCSVファイルから1行ずつ値を取得して読み込みする関数です。fgets関数とよく似ていますが、fgetcsvはCSVファイルの特徴である、カンマで区切られた値を配列として取得します。

プログラムは次のように書きます。

<?php
$file = '読み込むCSVファイル名';
if (($fp = fopen($file, 'r')) !== FALSE){
  $row = 0;
  while (($line = fgetcsv($fp)) !== FALSE) {
    if ($row ==  0){
      echo 'タイトル:'.$line[0].'<br>';
      $row++;
      continue;
    }
    echo $line[0].'<br>';
    $row++;
  }
}else{
  echo $file.'の読み込みに失敗しました。';
}
fclose($fp);
?>

PHPでファイルの読み込みをする方法

CSVファイルの読み込みを実行した結果が、ブラウザ上で上記の画像のようになる実際のプログラムはこちらです。

<?php
$file = 'test.csv';
if (($fp = fopen($file, 'r')) !== FALSE){
  $row = 0;
  while (($line = fgetcsv($fp)) !== FALSE) {
    if ($row ==  0){
      echo 'タイトル:'.$line[0].'<br>';
      $row++;
      continue;
    }
    echo $line[0].'<br>';
    $row++;
  }
}else{
  echo $file.'の読み込みに失敗しました。';
}
fclose($fp);
?>

文字化けを防ぐ方法

PHPでファイルの読み込みをする方法

上記の画像の様に、CSVファイルをPHPで取得した時に、CSVファイルの内容が文字化けしてしまうことがあります。これは、PHPで実行できる文字コードと、CSVファイルの文字コードが違うためです。CSVファイルを保存するときの文字コードを変更することで、文字化けを防げます。

現在は「UTF-8」が主に使われている文字コードです。CSVファイルを保存するときに、ファイルの文字コードを「UTF-8」にするように心がけましょう。

ThumbMinecraft(マインクラフト)でプログラミングを学ぶ!子供も楽しめながら学べるおすすめの方法!
マインクラフトは子供たちの間にとても人気が高いゲームですが、実は子供のプログラミング学習にも...

PHPでファイルの情報を取得する方法

PHPを使ってファイルの情報を取得することもできます。ファイル情報の取得方法も解説します。

ファイルサイズを取得する方法

ファイルサイズを取得する方法です。ファイルサイズを取得するためには、「filesize」を使います。ファイルサイズを取得するためのプログラムは次の通りです。
 

<?php
$file_name = "ファイル名";
echo filesize($file_name);
?>

PHPでファイルの読み込みをする方法

先ほど読み込みしたテキストファイルのファイルサイズを取得してみます。
 

<?php
$file_name = "test.txt";
echo filesize($file_name);
?>

すると、上記の画像の様にファイルサイズは148バイトであると表示されました。

更新日時を取得する方法

次はファイルの更新日時を取得してみましょう。ファイルの更新日時を取得するためには「filemtime」を使います。ファイルの更新日時取得のためのプログラムは次の通りです。また、テキストファイルの情報を取得してみましょう。
 

<?php
$file_name = "test.txt";
echo date("Y/m/d H:i", filemtime($file_name));
?>

PHPでファイルの読み込みをする方法

するとこのように、ファイルの更新日時が表示できました。

Thumbプログラミング学習アプリのおすすめ11選!子供&初心者向け入門編の勉強に役立つ無料アプリも紹介!
プログラミング学習アプリのおすすめ11選、子供&初心者向け入門編の勉強に役立つ無料アプリを解...

PHPでファイルの読み込み処理の方法を覚えよう!

この記事では、PHPで外部ファイルを読み込む方法を解説してきました。PHPで作ったプログラムファイルだけではなく、外部ファイルの読み込みも使いこなせるようになると、プログラミングの幅も広がります。

ぜひ、この機会にPHPでファイルの読み込み方法も使えるようにしましょう。PHPでファイルの読み込みができるようになって、プログラミングの幅をもっと広げていきましょう。

関連するまとめ

Original
この記事のライター
K.C
皆様のお役に立てる情報をお届けするために日々精進していきます。どうぞよろしくお願いします。