目次
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
この記事は役に立ちましたか?