PHP Conference Nagoya 2025

fsync

(PHP 8 >= 8.1.0)

fsyncСинхронизирует изменения в файле (включая метаданные)

Описание

fsync(resource $stream): bool

Функция синхронизирует изменения в файле, включая его метаданные. Она похожа на 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);
?>

Смотрите также

  • fdatasync() - Синхронизирует данные (но не метаданные) с файлом
  • fflush() - Сбрасывает буфер вывода в файл

Добавить

Примечания пользователей 1 note

up
12
Dave Gebler
3 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