phpでフォームから入力されたファイルからデータを一行ずつ取得する方法

この記事がお役に立てたならシェアしてくれると嬉しいです。

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:つねならむ

次回、これらロードしたデータを分割する関数を紹介します。

スポンサーリンク

この記事がお役に立てたならシェアしてくれると嬉しいです。


最新記事の更新情報をお届けします。

コメントをどうぞ

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です

日本語が含まれない投稿は無視されますのでご注意ください。(スパム対策)