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.