CakeFest 2024: The Official CakePHP Conference

fsync

(PHP 8 >= 8.1.0)

fsyncSynchronizes changes to the file (including meta-data)

Description

fsync(resource $stream): bool

This function synchronizes changes to the file, including its meta-data. This is similar to fflush(), but it also instructs the operating system to write to the storage media.

Parameters

stream

The file pointer must be valid, and must point to a file successfully opened by fopen() or fsockopen() (and not yet closed by fclose()).

Return Values

Returns true on success or false on failure.

Examples

Example #1 fsync() example

<?php

$file
= 'test.txt';

$stream = fopen($file, 'w');
fwrite($stream, 'test data');
fwrite($stream, "\r\n");
fwrite($stream, 'additional data');

fsync($stream);
fclose($stream);
?>

See Also

  • fdatasync() - Synchronizes data (but not meta-data) to the file
  • fflush() - Flushes the output to a file

add a note

User Contributed Notes 1 note

up
11
Dave Gebler
2 years ago
Two points worth noting:

1. fsync() is not suitable for high throughput, use it only when the durability of a file write really matters to you.

2. fsync() includes an implicit call to fflush() so you don't need to manually flush before you sync.
To Top