PHPのfgets()関数を使用し開いているファイルを1行読み取る

PHPのfgets()関数を使用し開いているファイルを1行読み取ってみます。

fgets()関数は、開いているファイルから1行を取得することができます。なお、fgets()関数を使用し、取得が成功した場合はファイルから1行を読み込み、EOF(ファイルの終わり)かエラーの場合はFALSE(偽)を返します。

■基本的な構文

fgets(file, length)

fileは、1行を取得する開いているファイルを指定します。

lengthは、読み込むバイト数を指定します。オプションとなります。

■環境

・Windows10

・XAMPP 8.0.6

・PHP Version 8.0.6

■PHPのfgets()関数を使用し開いているファイルを1行読み取る

では、早速PHPのfgets()関数を使用し開いているファイルから1行を読み取ってみます。

■コード

<html lang="ja"> 
<head> 
<title>fgets()関数を使用し開いているファイルを1行読み取る</title>
</head>
<body>
<?php
$file = fopen("test.txt","r");
echo fgets($file);
fclose($file);
?>
</body>
</html>

今回は、fileという変数を宣言し、その中でfopen()関数を使用し、ファイルを”r”(読み込み)モードで開いた状態で格納します。

その後、echo文とfgets()関数を使用します。fgets()関数の括弧内には、file変数を引数,パラメータとして渡し、読み込みモードの状態のファイルデータを、1行を取得し、出力します。

出力後、fclose()関数を使用し、読み込みモードの状態のファイルを閉じます。

なお、今回はファイルは「test.txt」というテキストファイルを用意しました。ファイルの中身には”2行”の文字列を格納しています。

■実行

では、このスクリプトを「get_oneline.php」という名前で保存し、実行させてみます。

実行させてみると、fgets()関数を使用したことで、開いた(読み込み)状態のファイルデータを取得し出力させることができました。今回指定したファイルには2行の文字列を格納していましたが、読み込むバイト数などは指定せずにfgets()関数を使用したため、1行だけ取得されました。

コメント

タイトルとURLをコピーしました