【PHP】「fgets」関数を使ってファイルを読み込む方法
【PHP】
「fgets」関数を使ってファイルを読み込む方法
「fgets」関数とは
「fgets()」関数は、
「改行」までの「1行単位」でデータを取得する関数。
ファイルポインタから「1行単位」でファイル内容を抽出する。
すべての行を取得するには、
「while」「for」などの繰り返し構文を使用して、
ファイル全体のデータを取得する。
1行ごとに処理をして、データを加工するときなどは、
「fgets()」関数は便利。
「fgets()」関数だけで、ファイルのデータを読み込めないので、
「fopen()」「fclose()」「while」「for」などを使ってファイルを読み込む。
「fgetss」関数に変更して、タグを取り除いた状態の読み込みに変更することも可能。
Back
「fgets」関数の書式
「fgets」関数は、
「ファイルポインタ」からファイル内容を読み込む関数なので、
「fopen」関数などの「ファイルポインタ」を生成・破棄する関数の操作が必要。
「fgets()」関数の書式
fgets(resource $handle, int $length = ?): string|false
fgets(ファイルポインタ, 読み込みサイズ): 返り値(1行分のファウル内容)
fgets (「fopen」関数で開いたファイルのポインタ);
fgets (「fopen」関数で開いたファイルのポインタ, 1行の長さ(文字数));
パラメータ
パラメータ | 説明 |
handle |
有効な「ファイルポインタ」を記述する。
「ファイルポインタ」は、「fopen()」「fsockopen()」などで作成する。
|
length |
省略可。
読み出しは、「length - 1」バイト分か、
「改行文字」を検出したか、
「EOF」に達したか
のいずれかを認識したら読み込みが終了する。
「length」が指定されない場合は、「行末(EOF)」まで読み込む。
|
戻り値 |
指定した「ファイルポインタ」から「length-1」バイト分を読み出し、文字列として返す。
「ファイルポインタ」がない場合や、
読み込むデータがもうない場合、
エラーが起こった場合は、
「false」を返す。
|
「fgets()」関数でファイルを読み込む書式サンプル
//ファイルを変数に格納
$filename = 'ファイル名.txt';
//「fopen」関数で、ファイルポインタを作成
$fp = fopen($filename, 'r');
//ファイルの最後まで「while」で繰り返し実行する
while (!feof($fp)) {
//fgetsでファイルを読み込み、変数に格納
$Line_Text = fgets($fp);
//ファイルを読み込んだ変数を出力
echo $Line_Text.'<br>';
}
//「fclose」関数で「ファイルポインタ」を削除する。
fclose($fp);
Back