fgetsは一行ずつ取得する関数です。
テキスト内で改行コードを使いレコード分けしている文字列を取得するのに向いています。
ファイルからデータを一行ずつ取得する方法
■fgets(ファイルハンドル);
文字を一行ずつ取得する関数です。
実行する度にファイルを読む位置が一行分ずつ分移動します。
例:
<?php $file=@fopen("test.txt","r"); if(!$file) { } else { $i=0; while(!feof($file)) { $text[$i]=fgets($file); $i++; } fclose($file); for($i=0;$i<count($text);$i++) { print "レコード".$i.":"; print $text[$i]; print "<br>"; } } ?>
fgetcと同じように読み込む度にデータの読み込み位置がずれていきます。
その為、whileループの条件式をfeofのファイル終端を判定できます。
test.txtの内容が
いろはに
ほへと
ちりぬるを
わかよたれそ
つねならむ
だった場合
実行すると下記のようにないます。
レコード0:いろはに
レコード1:ほへと
レコード2:ちりぬるを
レコード3:わかよたれそ
レコード4:つねならむ
次回、これらロードしたデータを分割する関数を紹介します。