目次
fgets関数で1行ずつ読み込む
fgets関数でファイルを扱う場合は、次の3つの関数を使いファイル操作を行います。
- fopen関数:ファイルを開く
- fgets関数:データを読み込む
- fclose関数:ファイルを閉じる
fopen関数の第2引数には、ファイルを開くときにモードを指定します。主なモードは次のとおりです。
ファイルを開くときのモード | 説明 |
r | 読み込み専用 |
w | 書き出し専用 |
a | 追加書き出し |
[fgets関数の使用例]
<?php $filename = 'C:\tmp\sample.txt'; // ファイルを開く('r'は読み込みモードで開く) $fp = fopen($filename, 'r') or die("ファイル読み込みエラー"); // ファイルを最後まで読み込む while (!feof($fp)) { echo fgets($fp).'<br>'; } // ファイルを閉じる fclose($fp); ?>
[実行結果]
あいうえお かきくけこ さしすせそ
file_get_contents関数でファイル読み込み
file_get_contents関数で全文読み込み
file_get_contents関数を使えば、ファイルオープンからデータ読み込み、クローズまでを1つの関数で簡単に処理できます。
[file_get_contents関数の使用例]
<?php $filename = 'C:\tmp\sample.txt'; // ファイル読み込み echo file_get_contents($filename); ?>
[実行結果]
あいうえお かきくけこ さしすせそ
file_get_contents関数で簡単にファイルの全文を読み込むことができます。ただし 改行タグ<br>が入っていないと、改行コードだけではブラウザ上では改行されないので注意しましょう。
file_get_contents関数で1行ずつ読み込む
file_get_contents関数で読み込んだ全文を1行ずつ処理するには、explode関数を使用します。
[explodeで1行ずつ処理]
<?php $filename = 'C:\tmp\sample.txt'; // ファイル読み込み $content = file_get_contents($filename); // 読み込んだデータを1行ずつ処理 $rows = explode("\n", $content); foreach ($rows as $row) { echo $row.'<br>'; } ?>
[実行結果]
あいうえお かきくけこ さしすせそ
file関数で配列に格納
file関数を利用することで、ファイルの全文を簡単に配列に格納することができます。
[file関数の使用例]
<?php $filename = 'C:\tmp\sample.txt'; // ファイルを読み込み配列に格納 $lines = file($filename); print_r($lines); ?>
[実行結果]
Array ( [0] => あいうえお [1] => かきくけこ [2] => さしすせそ )
helpful
この記事は役に立ちましたか?