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 — データをファイルに同期する(但しメタデータは除く)
この関数は、
stream
の内容をストレージに同期します。
fsync() に似ていますが、ファイルのメタデータは同期しません。
この点だけが、POSIX システムで唯一異なることに注意して下さい。
Windows では、この関数は fsync() のエイリアスになっています。
stream
ファイルポインタは、有効なファイルポインタである必要があり、 fopen() または fsockopen() で正常にオープンされた (そしてまだ fclose() でクローズされていない) ファイルを指している必要があります。
例1 fdatasync() の例
<?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.