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:つねならむ
次回、これらロードしたデータを分割する関数を紹介します。