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.
(PHP 8 >= 8.1.0)
fsync — Синхронизирует изменения в файле (включая метаданные)
Функция синхронизирует изменения в файле, включая его метаданные. Она похожа на fflush(), но помимо этого даёт инструкции операционной системе о записи на накопитель.
stream
Требуется допустимый файловый указатель, который указывает на файл, который успешно открыли функцией fopen() или функцией fsockopen(), и ещё не закрыли функцией fclose().
Функция возвращает true
в случае успешного выполнения или false
, если возникла ошибка.
Пример #1 Пример использования fsync()
<?php
$file = 'test.txt';
$stream = fopen($file, 'w');
fwrite($stream, 'тестовые данные');
fwrite($stream, "\r\n");
fwrite($stream, 'дополнительные данные');
fsync($stream);
fclose($stream);
?>
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.