PHP Conference Nagoya 2025

fdatasync

(PHP 8 >= 8.1.0)

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

Description

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().

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 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);
?>

See Also

  • 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