PHPのfeof()関数とは?使い方とサンプルコードを徹底解説
feof() 関数は、ファイルポインタがファイルの終端(EOF:End Of File)に達しているかどうかを判定するためのPHP組み込み関数です。ファイルポインタがEOFに達している場合、またはエラー(ソケットタイムアウトを含む)が発生した場合には TRUE を返し、それ以外の場合は FALSE を返します。
この関数は、fgets() や fgetss() などを使ってファイルを1行ずつ読み込む際に、ループの終了条件としてよく利用されます。
構文
feof(file_pointer)
パラメータ
file_pointer − 有効なファイルポインタである必要があります。具体的には、
fopen()またはfsockopen()によって正常に開かれたファイルを指していること、そしてfclose()によってまだ閉じられていないことが求められます。
戻り値
feof() 関数は、以下の場合に TRUE を返します。
- ファイルポインタがEOF(ファイル終端)に達している場合
- エラーが発生した場合(ソケットタイムアウトを含む)
上記以外の場合は FALSE を返します。
使用例
次の例では、feof() 関数を使ってファイルの内容を1行ずつ読み込み、すべて表示しています。
<?php
$file_pointer = @fopen("/myfiles/one.php", "r");
if ($file_pointer) {
while (!feof($file_pointer)) {
$buffer = fgetss($file_pointer, 1024);
echo $buffer;
}
fclose($file_pointer);
}
?>
出力結果
First line
注意点
無効なファイルポインタを feof() に渡すと、無限ループが発生する可能性があります。そのため、上記の例のように @fopen() の戻り値を必ずチェックしてから処理を行うことが推奨されます。また、読み込みが完了したら fclose() でファイルを確実に閉じることも忘れないようにしましょう。
-
PHPのfgets()関数とは?使い方とパラメータ、実行例をわかりやすく解説
PHPのfgets()関数は、ファイルから1行ずつ文字列を読み込むための関数です。指定したファイルポインタが指すファイルから、「length - 1」バイトまでの文字列を読み取って返します。テキストファイルを行単位で処理したい場合に非常に便利な関数です。 基本的な構文 fgets(file_pointer, length); パラメータ(引数) file_pointer(ファイルポインタ)− 有効なファイルポインタである必要があり、fopen() や fsockopen() によって正常に開かれたファイルを指している必要があります。 length(読み込みバイト数)− 読み込みは「lengt
-
PHPのfclose()関数とは?ファイルポインタを閉じる方法をわかりやすく解説
PHPのfclose()関数は、fopen()などで開いたファイルポインタを閉じるための関数です。処理が成功した場合はTRUEを、失敗した場合はFALSEを返します。ファイル操作を行った後は、リソースを解放するために必ずfclose()でファイルを閉じることが推奨されています。 構文(Syntax) fclose(file_pointer) パラメータ(引数) file_pointer − 有効なファイルポインタを指定します。このポインタは、fopen()またはfsockopen()によって正常に開かれたファイルを指している必要があります。 戻り値(Return値) fclose()関数は