【PHP8.x】rewind関数の使い方

作成日: 更新日:

rewind関数は、オープンされたファイルのリソースに対して、ファイルポインタの位置をファイルの先頭に戻す処理を実行する関数です。ファイルポインタとは、ファイル内のデータを読み書きする際の現在の位置を示す目印のようなものです。例えば、あるファイルを読み進めて途中で別の処理を行い、その後にもう一度ファイルの最初から内容を読み直したい、といった状況でこのrewind関数が役立ちます。

この関数を使用する際は、事前にfopen()関数などを用いて開かれた有効なファイルリソースを引数として渡す必要があります。rewind関数が正常に実行され、ファイルポインタが先頭に移動できた場合にはtrueが返されます。一方、何らかの理由でファイルポインタを先頭に戻すことができなかった場合にはfalseが返されるため、戻り値を確認することで処理の成否を判断できます。

特に、ログファイルを繰り返し解析したり、設定ファイルを複数回読み込んだりするようなアプリケーション開発において、一度開いたファイルを効率的に再利用するための重要な機能の一つです。ただし、ネットワークストリームやパイプなど、シーク(位置指定)ができない一部のファイルリソースに対しては、rewind関数は期待通りに動作しない場合がある点にご注意ください。

基本的な使い方

構文(syntax)

<?php
$fileHandle = fopen('example.txt', 'r+');
if ($fileHandle) {
    rewind($fileHandle);
    fclose($fileHandle);
}
?>

引数(parameters)

resource $stream

  • resource $stream: 操作対象のストリームリソースを指定します

戻り値(return)

bool

この関数は、イテレータの内部ポインタを先頭に移動させることに成功したかどうかを示す真偽値を返します。成功した場合は true を、失敗した場合は false を返します。