ファイルポインタから 1 行取得する
$stream
$length
null
ファイルポインタから 1 行取得します。
stream
ファイルポインタは、有効なファイルポインタである必要があり、 fopen または fsockopen で正常にオープンされた (そしてまだ fclose でクローズされていない) ファイルを指している必要があります。
length
読み出しは、length - 1 バイト読み出したか、(戻り値に含まれる) 改行文字を検出したか、EOF に達したかのいずれかが起こった時点で終了します。 length が指定されない場合は、行末に達するまで読み続けます。
stream で指定したファイルポインタから最大 length - 1 バイト読み出し、 その文字列を返します。ファイルポインタから読み込むデータがもうない場合は false を返します。
false
エラーが起こった場合、false を返します。
例1 行毎にファイルを読み込む
<?php $fp = @fopen("/tmp/inputfile.txt", "r"); if ($fp) { while (($buffer = fgets($fp, 4096)) !== false) { echo $buffer, PHP_EOL; } if (!feof($fp)) { echo "Error: unexpected fgets() fail\n"; } fclose($fp); } ?>
注意: マッキントッシュコンピュータ上で作成されたファイルを読み込む際に、 PHP が行末を認識できないという問題が発生した場合、 実行時の設定オプションauto_detect_line_endings を有効にする必要が生じるかもしれません。
PHP
注意: C 言語の fgets の動作に慣れている人は、 EOF を返す条件の違いについて注意する必要があります。
注意:
C 言語の fgets の動作に慣れている人は、 EOF を返す条件の違いについて注意する必要があります。
EOF