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.
(PHP 8 >= 8.1.0)
fdatasync — Synchronizes data (but not meta-data) to the file
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
The file pointer must be valid, and must point to a file successfully opened by fopen() or fsockopen() (and not yet closed by fclose()).
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);
?>
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.