PHP Conference Nagoya 2025

fdatasync

(PHP 8 >= 8.1.0)

fdatasyncSynchronizes data (but not meta-data) to the file

Опис

fdatasync(resource $stream): bool

This function synchronizes stream contents to storage media, just like fsync() does, but it does not synchronize file meta-data. Note that this function is only effectively different in POSIX systems. In Windows, this function is aliased to fsync().

Параметри

stream

Вказівник на файл має бути дійсним та має вказувати на файл, успішно відкритий функцією fopen() або fsockopen() (та не закритий функцією fclose()).

Значення, що повертаються

Повертає true у разі успіху або false в разі помилки.

Приклади

Приклад #1 fdatasync() example

<?php

$file
= 'test.txt';

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

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

Прогляньте також

  • fflush() - Flushes the output to a file
  • fsync() - Synchronizes changes to the file (including meta-data)

add a note

User Contributed Notes 1 note

up
0
greg at example dot com
1 year ago
Does not flush st_atime, st_mtime or st_size.

If you need to use filesize after a write you will need need fsync() or fflush() instead.
To Top