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

作成日: 更新日:

fflush関数は、指定されたファイルポインタに関連付けられた出力バッファの内容を、強制的に物理的な出力デバイス(ファイルや標準出力など)へ書き出す(フラッシュする)関数です。

PHPでファイルへの書き込み処理を行う際、システムの効率を高めるために、書き込むデータは一度「バッファ」と呼ばれるメモリ上の仮置き場に一時的に溜められます。このバッファがいっぱいになるか、ファイルを閉じるなどの特定のタイミングで、実際にファイルや画面へデータが書き込まれます。

fflush関数を使用すると、このバッファに溜まっているデータを、上記のタイミングを待たずに、すぐに強制的に出力先へ書き出すことができます。例えば、ログファイルをリアルタイムで更新し、常に最新の情報を確認したい場合や、プログラムが何らかの理由で予期せず終了する可能性がある前に、重要なデータを確実にディスクに保存しておきたい場合などに非常に有効です。また、ネットワーク通信やパイプを使ったプロセス間通信で、送信データをすぐに相手に届けたいときにも利用されます。

この関数は、書き込みをフラッシュしたいファイルポインタ(fopen関数などで取得したもの)を引数として受け取ります。処理が成功した場合は true を、失敗した場合は false を返します。特にWindows環境では、オペレーティングシステムによるバッファリングの影響で、fflushを呼び出してもデータが必ずしも即座に物理ディスクに書き込まれるわけではない点にご注意ください。

基本的な使い方

構文(syntax)

fflush(resource $stream): bool

引数(parameters)

resource $stream

  • resource $stream: 出力バッファをフラッシュする対象となるファイルリソースまたはストリームを指定します。

戻り値(return)

bool

指定されたバッファの内容をファイルにフラッシュし、その操作が成功したかどうかを真偽値で返します。成功した場合は true、失敗した場合は false を返します。

【PHP8.x】fflush関数の使い方 | いっしー@Webエンジニア