PHPマニュアル/PEARマニュアル | ユーザフォーラムで議論/質問 | マニュアル検索 | ハイライト | ハイライトオフ | ポータル | php spot

feof - ファイルポインタがファイル終端に達しているかどうか調べる | JavaScript入門&応用&リファレンスなら「JavaScriptist」

  

feof

(PHP 4, PHP 5, PHP 7)

feofファイルポインタがファイル終端に達しているかどうか調べる

説明

bool feof ( resource $handle )

ファイルポインタがファイル終端に達しているかどうかを調べます。

パラメータ

handle

ファイルポインタは、有効なファイルポインタである必要があり、 fopen() または fsockopen() で正常にオープンされた (そしてまだ fclose() でクローズされていない) ファイルを指している必要があります。

返り値

ファイルポインタが EOF に達しているかまたはエラー (ソケットタイムアウトを含みます) の場合に TRUE 、 その他の場合に FALSE を返します。

注意

警告

fsockopen() でオープンした接続がサーバーによって閉じられていない場合、feof() はハングします。回避策は以下の例を参照ください。

例1 feof() のタイムアウト処理

<?php
function safe_feof($fp, &$start NULL) {
 
$start microtime(true);

 return 
feof($fp);
}

/* $fp は事前に fsockopen() でオープンしているものとします */

$start NULL;
$timeout ini_get('default_socket_timeout');

while(!
safe_feof($fp$start) && (microtime(true) - $start) < $timeout)
{
 
/* 処理 */
}
?>

警告

無効なファイルポインタを渡した場合、無限ループに陥ることがあります。 なぜなら feof()TRUE を返すことができないからです。

例2 feof() に無効なファイルポインタを使用する例

<?php
// ファイルを読み込めなかったりファイルが存在しなかったりした場合、
// fopen 関数は FALSE を返します。
$file = @fopen("no_such_file""r");

// fopen からの FALSE が警告を発生させ、ここで無限ループとなります。
while (!feof($file)) {
}

fclose($file);
?>


忘却曲線を使ってこの関数を確実に記憶に残す

フォーラムで「feof - ファイルポインタがファイル終端に達しているかどうか調べる」について話す
各種マニュアル: PHPマニュアル | PEARマニュアル | Smarty(英語)マニュアル | PHP-GTKマニュアル | feof - ファイルポインタがファイル終端に達しているかどうか調べる」をGoogle検索
copyright © 1997-2019 PHP ドキュメント作成グループ(ライセンス). provided by php spot. マニュアル: