【PHP】ファイルから一行分のデータを取得する関数「fgtes()」

Pocket

今回はPHPで使用できる、メモ帳などのファイルから一行分のデータを取得できる「fgets()」を使用してみます。

ファイルから一行分のデータを取得する関数「fgets()」

「fgets()」は第一引数に読み込みたいファイル名を記述することで、ファイルから一行分のデータを取得します。
EOF(End Of File)の場合、「false」を返します
ただし諸注意として、「fgets()」でデータを取得する前に「fopen()」のモード「”r”」でファイルを開いて置く必要があります。
「fopen()」についてはこちらから。

それではテストとして、以下のファイルデータを一行ずつ取得し、出力してみます。

・サンプルデータ「”test.txt”」

この文章はテストです。
今回は「fgets()」を使用します。
「fgets()」はファイルから一行分のデータを取得できます。
これは便利な関数ですね。

それではサンプルコードです。

ファイルのデータを二行分だけ取得し、出力する

以下、実行結果です。

fgets00

上記のコードはファイルの一行目と二行目を変数に格納し、出力したコードになります。「fgets()」一回で一行目、二回目で二行目を取得という感じですね。

 

すべての行を取得し出力する方法

繰り返し処理「while()」を使用することで、ファイル内のデータを全て出力することができます。

実行結果です。

fgets01

「while()」の引数に、データを取得した変数を記述し、繰り返し文の最後に「fgets()」でデータを取得することで、ファイルからデータが「false」になるまで出力が繰り返される仕組みです。

今回は「while()」を使用しましたが「for()」などの繰り返し文を使用することで、指定した回数分データを取得することも可能なので、状況に応じて繰り返し文を併用していきたいですね。

エッグ

シェアする

コメントを残す

メールアドレスが公開されることはありません。

コメントする